Generating APK from source code

Steps how to generate APK from source code

Source Code references

Open Terminal and clone source code git clone https://github.com/Sunbird-Saral/Project-Saral.git

ReferSource Code Repositoryfor latest repository location.

Change Directory to Project-Saral/ folder and switch to release tag as per release notes. git checkout tags/<tag_name>

$FRONTEND_FOLDER = Project-Saral/v1.0/frontend

$BACKEND_FOLDER = Project-Saral/v1.0/backend

Saral v1.0 Android App bundling/packaging

  1. Follow Frontend Setup steps @ Workspace Setup - Playbook

  2. Implementing Saral App for specific purpose , its recommended to change default package com.saralapp references to implementation specific package for example com.saralapp.xxstate for xxstate. Refer below screenshot.

  3. App Icon can be customised/replaced by generating App icon using standard icon editors and replace icons in below folders.

    • $FRONTEND_FOLDER\SaralApp\android\app\src\main\res\mipmap-mdpi

    • $FRONTEND_FOLDER\SaralApp\android\app\src\main\res\mipmap-hdpi

    • $FRONTEND_FOLDER\SaralApp\android\app\src\main\res\mipmap-xhdpi

    • $FRONTEND_FOLDER\SaralApp\android\app\src\main\res\mipmap-xxhdpi

    • $FRONTEND_FOLDER\SaralApp\android\app\src\main\res\mipmap-xxxhdpi

  4. Open Terminal in $FRONTEND_FOLDER/SaralApp/android folder

./gradlew clean

APK Signing can be enabled using the below Gradle files. Make sure the Keystore file is to be used for signing placed in $FRONTEND_FOLDER/SaralApp/android/app folder.

$FRONTEND_FOLDER/SaralApp/android/gradle.properties

$FRONTEND_FOLDER/SaralApp/android/app/build.gradle

Note: Make sure signingConfig signingConfigs.release the line is uncommented. Also set enableSeparateBuildPerCPUArchitecture flag to true to generate CPU architecture specific APKs. This will also reduce the size of the APK compared to universal APK.

  1. Update google-services.json file in $FRONTEND_FOLDER/SaralApp/android/app folder.

  2. Edit $FRONTEND_FOLDER/SaralApp/src/config/config.js to change apkVersionId , apkURL, BASE_URL as per the implementation.

  3. Open Terminal in $FRONTEND_FOLDER/SaralApp/android folder

./gradlew assembleRelease

(OR)

./gradlew assembleDebug

3. You can find the release apk file in Project-Saral/v1.0/frontend/SaralApp/android/app/build/outputs/apk/release or debug folder.

Note: If releasing APK file for a client/implementation, its recommended to build APK from the release tag and modify implementation-specific BASE_URL entry and google-services.json file.

  1. Open terminal from $FRONTEND_FOLDER/SaralApp/android folder and execute the below command to verify apk signature.

jarsigner -verbose -verify ./app/build/outputs/apk/release/app-release.apk

Last updated

Was this helpful?