AI-NVR Mobile Application Build#

Download & Extract the app source code#

  1. Log in to NGC and navigate to moj org, release team.

  2. Go to the NGC page of AI NVR Android app.

  3. On that page, use one of the options available in the Download menu (top right).

  4. Extract the files using the following commands.

    unzip files.zip

    tar zxf ai-nvr-android-app.tar.gz

How to build#

Two options.

1. Import the project to Android Studio

Open the project in Android Studio. Build and install the app on the connected device.

2. Using gradle build

  • Set the below paths.

    export JAVA_HOME=<JDK/OpenJDK_path>
    export ANDROID_HOME=<Android_SDK_path>
    export PATH=$JAVA_HOME/bin:<gradle_path>/bin:$PATH

  • Build the app using the below command. For more details, see this.

    gradlew --no-daemon clean assembleRelease

Build configuration#

  • Target Android SDK 34

  • Android build tools 34.0.0

  • Gradle 8.6

  • Gradle plugin 8.4.0

  • Java OpenJDK 17

  • Kotlin 2.0.0

  • Navigation lib 2.8.0

Third-party libraries#

  • Communication, parsing, and building REST requests:

    • com.squareup.retrofit2:retrofit:2.11.0

    • com.squareup.moshi:moshi-adapters:1.15.1

    • com.squareup.moshi:moshi-kotlin:1.15.1

    • com.squareup.retrofit2:converter-moshi:2.11.0

    • com.squareup.okhttp3:okhttp: 4.9.1

  • Presenting and updating activity graphs:

    • com.github.PhilJay:MPAndroidChart:v3.1.0

  • Dependency injection:

    • com.google.dagger:hilt-android:2.51.1

  • Play streams using WebRTC:

    • org.webrtc:google-webrtc:1.0.32006

  • Login and manage OpenID tokens:

    • net.openid:appauth:0.11.1

  • Lazy loading and cache cameras thumbnails:

    • com.github.bumptech.glide:glide:4.14.2