# App Store — Android Kotlin Android client for the App Store project: browses a private app distribution server on your network and installs APKs directly via PackageInstaller — Material Design 3 UI with a Room database for app metadata. Part of the App Store project: | Repo | What it is | |------|------------| | [app-store](https://git.jarianc.com/jarianc/app-store) | FastAPI distribution server (APKs + metadata + web frontend) | ## Features - Browse all apps from the store server in a Material 3 grid - Search and filter apps - View app details: description, permissions, screenshots - Download and install APKs directly (PackageInstaller, no Play Store) - Configurable server address (Settings screen) - Room database for cached app metadata ## Building Prerequisites: Java 17, Android SDK (platform-tools, build-tools 34.0.0, platforms android-34). ```bash # Configure SDK path (adjust to your SDK location) echo "sdk.dir=/path/to/android-sdk" > local.properties # Build debug APK ./gradlew :app:assembleDebug # Build release APK (signed with your store keystore) ./gradlew :app:assembleRelease ``` APKs are output to `app/build/outputs/apk/`. ## First Run 1. Open the app → Settings 2. Enter your server address (e.g. `http://192.168.1.50:8080`) 3. Browse and install ## Distributing Apps to the Store See [UPLOAD_APP.md](UPLOAD_APP.md) and [UPLOAD_APP_REMOTE.md](UPLOAD_APP_REMOTE.md) for the build → sign → upload workflow. ## Project Structure ``` . ├── app/ │ └── src/main/ │ ├── kotlin/ # Android app sources │ └── res/ # Resources, Material 3 theme ├── build.gradle ├── settings.gradle ├── gradle.properties └── gradlew ```