NORM-mirror/android
bebopagogo 3fd9bad54e fix so that when NormSyncPolicy is NORM_SYNC_ALL, receivers will NACK in reponse to NORM_CMD(FLUSH) messages received. Also updated normCast example behavior making 'ack auto' operation more robust. 2022-05-08 16:49:04 -04:00
..
.idea fix so that when NormSyncPolicy is NORM_SYNC_ALL, receivers will NACK in reponse to NORM_CMD(FLUSH) messages received. Also updated normCast example behavior making 'ack auto' operation more robust. 2022-05-08 16:49:04 -04:00
gradle/wrapper Reconfigured the android Gradle build (#47) 2021-12-03 18:01:38 -05:00
lib Reconfigured the android Gradle build (#47) 2021-12-03 18:01:38 -05:00
README.md Reconfigured the android Gradle build (#47) 2021-12-03 18:01:38 -05:00
build.gradle update to latest 2019-09-11 12:29:48 -04:00
gradlew update to latest 2019-09-11 12:29:48 -04:00
gradlew.bat update to latest 2019-09-11 12:29:48 -04:00
settings.gradle update to latest 2019-09-11 12:29:48 -04:00

README.md

This directoy contains Android Studio project files for building the NORM library for Android.

REQUIREMENTS:

Ninja is required in order to run the ant build for the java .jar file

Download and install ndk and cmake using the SDK manager within Android Studio. To do this:

-> Tools -> SDK Manager -> System Settings -> Android SDK -> SDK Tools -> Select 'Show Package Details' at the bottom

The latest compatible versions are ndk version 20.0.5594570 and cmake version 3.10.2.4988404

  • Important * If you decide to install different version of the SDK Tools above, make sure to edit the path locations in the local.properties file

TO BUILD:

./gradlew build

The lib/build/ directory will contain the binary libraries built.

The "./gradlew clean" command can be used to delete the files built.

This directory may also be opened as an Android Studio project and built from the IDE GUI.

This will evolve as we update NORM and associated projects to the newer Android Studio tool chain.

USAGE:

Copy the .aar file into your ${project.rootDir}/app/libs/ folder

Within your app level build.gradle include the following two tasks before your dependencies section:

task extractSo(type: Copy) {
    println 'Extracting *.so file(s)....'

    from zipTree("${project.rootDir}/app/libs/lib-release_-release.aar")
    into "${project.rootDir}/app/src/main/jniLibs"
    include "jni/**/*.so"

    eachFile {
        def segments = it.getRelativePath().getSegments() as List
        println segments
        it.setPath(segments.tail().join("/"))
        return it
    }
    includeEmptyDirs = false
}

task extractJar(type: Copy, dependsOn: extractSo) {
    println 'Extracting *.jar file(s)....'

    from zipTree("${project.rootDir}/app/libs/lib-release_-release.aar")
    into "${project.rootDir}/app/libs/"
    include "norm-*.jar"
}