- Hardware: Any computer with 8 GB RAM and 20 GB storage
- Operating system: Windows, Linux, macOS, or WSL
- Software: Android Studio/IntelliJ IDEA, Gradle, Latex, pandoc, JDK 21+
- Active network connection: Depending on your development environment, you may need at least 20 GB data package.
The following steps are required only if you want to build APKS:
Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install bundletool:
brew install bundletool
Install the development tools.
For Debian/Ubuntu:
sudo apt-get install build-essential
For Fedora/CentOS/RHEL:
sudo yum groupinstall "Development Tools"
For Arch/Artix/Manjaro:
sudo pacman -S base-devel
Install bundletool-all.jar if you want to build APKS, and make sure it is available as
bundletoolcommand. A quick way would be to create an alias as follows (assuming you're usingbash):echo "alias bundletool='java -jar path/to/bundletool.jar'" >> ~/.bashrc
Make sure to replace
/path/to/bundletool-all.jarwith the actual path for bundletool-all.jar.For Arch/Artix/Majaro (with
yay):yay -S bundletool
Clone the repo along with submodules:
git clone --recurse-submodules https://github.com/SysAdminDoc/AppManagerNG.git
You can use the --depth 1 argument if you don't want to clone past commits.
Open the project AppManagerNG using Android Studio/IntelliJ IDEA. The IDE should start syncing automatically. It will also download all the necessary dependencies automatically provided you have a working network connection.
Build debug version of AppManagerNG from Menu > Build > Make Project, or, from the terminal:
./gradlew :app:assembleFlossDebug
On Windows, use
gradlew.batinstead of./gradlew.Run the Floss unit-test suite before submitting changes:
./gradlew :app:testFlossDebugUnitTest
Robolectric runs against Android SDK 36. The test task requires JDK 21 or newer and reports the active Java version with remediation instructions when Gradle is using an older JVM. Check the Gradle JVM with
./gradlew --version.
To create a bundled app in APKS format, run the following command:
./scripts/aab_to_apks.sh type
Replace type with release or debug based on your requirements.
It will ask for KeyStore credentials interactively.
The script above will also generate a universal APK.
Run:
./gradlew :docs:buildDocs
The packaged manual is generated from docs/raw into the docs Android
library module during the normal app build.