Skip to content

Latest commit

 

History

History
109 lines (67 loc) · 3.03 KB

File metadata and controls

109 lines (67 loc) · 3.03 KB

Building AppManagerNG

Requirements

  • 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.

macOS

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
    

Linux|GNU

  • 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 bundletool command. A quick way would be to create an alias as follows (assuming you're using bash):

    echo "alias bundletool='java -jar path/to/bundletool.jar'" >> ~/.bashrc
    

    Make sure to replace /path/to/bundletool-all.jar with the actual path for bundletool-all.jar.

    • For Arch/Artix/Majaro (with yay):

      yay -S bundletool
      

Clone and Build AppManagerNG

  1. 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.

  2. 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.

  3. Build debug version of AppManagerNG from Menu > Build > Make Project, or, from the terminal:

    ./gradlew :app:assembleFlossDebug
    

    On Windows, use gradlew.bat instead of ./gradlew.

  4. 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.

Create Bundled App

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.

Build documentation

Run:

./gradlew :docs:buildDocs

The packaged manual is generated from docs/raw into the docs Android library module during the normal app build.