Repository navigation
Developer Setup
The short path to building and running the app. The README and the contributing guide have the details.
- JDK 21, for example Eclipse Temurin
- The Android SDK command-line tools with platform 37 and build tools 37,
and
ANDROID_HOMEpointing at the SDK - A phone with USB debugging on, or an emulator (a system image for API 26 or newer)
Android Studio is optional: everything builds from the command line with the Gradle wrapper, which downloads the right Gradle version itself.
git clone https://github.com/UtshaBasak/BookStoreBD-Android.git
cd BookStoreBD-Android
./gradlew assembleGithubDebug
adb install -r app/build/outputs/apk/github/debug/app-github-debug.apkThe debug app is called BookStoreBD and installs as
io.github.utshabasak.bookstorebd.debug, next to the release app.
./gradlew ktlintCheck detekt # code style and static analysis
./gradlew ktlintFormat # fix most style findings
./gradlew lintGithubDebug lintPlayDebug lintDebug # Android Lint
./gradlew test # unit and Compose UI testsCI runs the same checks on every push and pull request.
Debug builds use the live API by default. To use your own copy of the
website and API, start it as its
Developer Setup
explains (with demo data from npm run seed), then:
adb reverse tcp:4000 tcp:4000
./gradlew assembleGithubDebug -Pbookstore.debugSite=http://127.0.0.1:4000
adb install -r app/build/outputs/apk/github/debug/app-github-debug.apkadb reverse works the same for a phone and an emulator. Sign in with one of
the demo accounts the seed prints.
sdkmanager "system-images;android-37.0;google_apis_playstore;x86_64" "emulator" "platform-tools"
avdmanager create avd -n BookStoreBD -k "system-images;android-37.0;google_apis_playstore;x86_64"
emulator -avd BookStoreBD| Property | Effect |
|---|---|
-Pbookstore.debugSite=<url> |
The server a debug build uses |
Release signing reads keystore.properties locally or environment variables in
CI; see Building and Releasing.
BookStoreBD · Android app · MIT License · Questions: support.utsha@gmail.com
Using the app
Working on it
Links