From 3137acdd5a45285dab9903f9d41560c63eca8523 Mon Sep 17 00:00:00 2001 From: "Angelo Mantellini (manangel)" Date: Wed, 29 Mar 2017 18:00:06 +0200 Subject: first commit Change-Id: I8412b8e7d966c2fbc508b537fd9a9bbcfc628ca8 Signed-off-by: Angelo Mantellini (manangel) --- iget_android/app/build.gradle | 185 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 iget_android/app/build.gradle (limited to 'iget_android/app/build.gradle') diff --git a/iget_android/app/build.gradle b/iget_android/app/build.gradle new file mode 100644 index 00000000..43638e0a --- /dev/null +++ b/iget_android/app/build.gradle @@ -0,0 +1,185 @@ +import org.apache.tools.ant.taskdefs.condition.Os + +apply plugin: 'com.android.application' + +android { + compileSdkVersion 23 + buildToolsVersion "23.0.2" + + defaultConfig { + applicationId "com.iget.ccnx" + minSdkVersion 15 + targetSdkVersion 23 + versionCode 1 + versionName "0.0.1 ( 0.0.1)" + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + signingConfigs { + release { + storeFile file("iget.keystore") + storePassword "icn_iget" + keyAlias "iget" + keyPassword "icn_iget" + } + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.release + } + debug { + debuggable true + jniDebuggable true + } + } + sourceSets { + main { + java.srcDirs "src/main/java" + res.srcDirs "src/main/res" + jniLibs.srcDir 'src/main/libs' + jni.srcDirs = [] //disable automatic ndk-build call + } + androidTest.setRoot('tests') + androidTest.java.srcDirs = ['tests/src'] + } + packagingOptions { + exclude 'META-INF/LICENSE.txt' + exclude 'META-INF/NOTICE.txt' + } + + splits { + abi { + enable true // enable ABI split feature to create one APK per ABI + universalApk false // don't generate an additional APK that targets all the ABIs + } + } + + // map for the version code + // versionCode digit for each supported ABI, with 64bit>32bit and x86>armeabi-* + project.ext.versionCodes = ['armeabi': 1, + 'armeabi-v7a': 2, + 'arm64-v8a': 3, + 'mips': 5, + 'mips64': 6, + 'x86': 8, + 'x86_64': 9] + + android.applicationVariants.all { variant -> + // assign different version code for each output + variant.outputs.each { output -> + output.versionCodeOverride = project.ext.versionCodes.get( + output.getFilter( + com.android.build.OutputFile.ABI), 0) * 1000000 + + defaultConfig.versionCode + } + } + + task copyNdnCxxHeaders(type: Copy) { + from('src/main/jni/ndn-cxx/src') { + include '**/*.hpp' + } + into 'build/generated/source/include/ndn-cxx' + } + + // call regular ndk-build(.cmd) script from app directory + task ndkBuild(type: Exec) { + dependsOn copyNdnCxxHeaders + def args = [getNdkBuildCmd(), '-C', file('src/main').absolutePath] + + if (System.env.NDK_BUILD_PARALLEL != null) { + args.add("-j" + System.env.NDK_BUILD_PARALLEL) + } + else { + args.add("-j" + Runtime.runtime.availableProcessors()) + } + + if (System.env.NDK_BUILD_ABI != null) { + args.add("APP_ABI=" + System.env.NDK_BUILD_ABI) + } + + if (System.env.NDK_DEBUG != null) { + args.add("NDK_DEBUG=1") + } + commandLine args + } + + tasks.withType(JavaCompile) { + compileTask -> compileTask.dependsOn ndkBuild + } + + task cleanNative(type: Exec) { + commandLine getNdkBuildCmd(), '-C', file('src/main').absolutePath, 'clean' + } + + clean.dependsOn cleanNative + //dexOptions { + // incremental true + //} + dexOptions { + incremental true + } +} + +def getNdkBuildCmd() { + def ndk_build = getNdkDir() + "/ndk-build" + if (Os.isFamily(Os.FAMILY_WINDOWS)) { + ndk_build += ".cmd" + } + + return ndk_build +} + + +def getNdkDir() { + if (System.env.ANDROID_NDK_ROOT != null) + return System.env.ANDROID_NDK_ROOT + + Properties properties = new Properties() + properties.load(project.rootProject.file('local.properties').newDataInputStream()) + + def ndk_dir = properties.getProperty('ndk.dir', null) + if (ndk_dir == null) { + throw new GradleException("NDK location not found. Define location with ndk.dir in the local.properties file or with an ANDROID_NDK_ROOT environment variable.") + } + return ndk_dir +} + +repositories { + mavenLocal() + mavenCentral() + maven { + url "https://oss.sonatype.org/content/repositories/snapshots/" + } +} + +dependencies { + compile fileTree(include: ['*.jar'], dir: 'libs') + compile 'com.android.support:appcompat-v7:23.1.1' + compile 'com.android.support:support-v4:23.1.1' + compile('com.intel.jndn.management:jndn-management:1.1.2') { + exclude group: 'net.named-data', module: 'jndn' + } + compile('net.named-data:jndn-android:0.13') { + exclude group: 'org.xerial' + } + compile 'net.named-data.jndn-xx:jndn-xx-util:0.0.1' + compile 'joda-time:joda-time:2.7' +} + +Properties properties = new Properties() +properties.load(project.rootProject.file('local.properties').newDataInputStream()) + + +if (properties['google-play'] != null) { + apply plugin: 'net.named-data.playground.play' + + play { + track = 'alpha' + jsonFile = file(properties['google-play']) + } +} -- cgit 1.2.3-korg