diff options
author | Paul Thomson <paulthomson@users.noreply.github.com> | 2021-09-28 13:28:55 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-28 14:28:55 +0100 |
commit | 93e89eed2c22deb62b2d0a46a2e376c5132775cd (patch) | |
tree | 638dac80320509529d7e7be043a92e28a7b17194 /android_gradle/app | |
parent | 6b3fcb0353533d1236035c4aa3b587be5d8b37cd (diff) | |
download | amber-93e89eed2c22deb62b2d0a46a2e376c5132775cd.tar.gz |
Update and improve android_gradle (#965)
* Update CMakeLists.txt files so we can build libamber_ndk.so for
Android via CMake.
* `android_gradle/`:
* Update Gradle version, settings, and build files to match the latest
Android sample. Importantly, this removes the use of jcenter and
bintray repositories, which were shut down.
* Specify NDK version so that Gradle can install required native build
tools automatically.
* Define externalNativeBuild so Gradle can perform the Android CMake
build automatically.
* Replace `main` with `android_main` when building the Amber tool as a
library for Android to avoid compiler warnings, and rename other
Android-related symbols to avoid confusion.
Fixes #964
Diffstat (limited to 'android_gradle/app')
4 files changed, 33 insertions, 16 deletions
diff --git a/android_gradle/app/build.gradle b/android_gradle/app/build.gradle index 40c4c54..b756f6b 100644 --- a/android_gradle/app/build.gradle +++ b/android_gradle/app/build.gradle @@ -1,26 +1,37 @@ -apply plugin: 'com.android.application' +plugins { + id 'com.android.application' +} android { - compileSdkVersion 29 - buildToolsVersion "29.0.2" + compileSdk 30 + buildToolsVersion "30.0.2" + ndkVersion "21.4.7075529" defaultConfig { applicationId "com.google.amber" minSdkVersion 24 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + + externalNativeBuild { + cmake { + arguments "-DAMBER_USE_LOCAL_VULKAN=1" + targets "amber_ndk" + } + } } - sourceSets { - androidTest.manifest.srcFile "src/androidTest/AndroidManifest.xml" + externalNativeBuild { + cmake { + path "../../CMakeLists.txt" + } } - dependencies { - androidTestImplementation 'androidx.test:runner:1.1.0' - androidTestImplementation 'androidx.test:rules:1.1.0' + sourceSets { + androidTest.manifest.srcFile "src/androidTest/AndroidManifest.xml" } buildTypes { @@ -29,6 +40,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } sourceSets { main { @@ -41,9 +56,10 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.appcompat:appcompat:1.1.0' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } diff --git a/android_gradle/app/src/androidTest/java/com/google/amber/AmberLauncher.java b/android_gradle/app/src/androidTest/java/com/google/amber/AmberLauncher.java index 4864843..ad92154 100644 --- a/android_gradle/app/src/androidTest/java/com/google/amber/AmberLauncher.java +++ b/android_gradle/app/src/androidTest/java/com/google/amber/AmberLauncher.java @@ -54,7 +54,7 @@ public class AmberLauncher { String stdout_file = args.getString("stdout", new File(outputDir, "amber_stdout.txt").toString()); String stderr_file = args.getString("stderr", new File(outputDir, "amber_stderr.txt").toString()); - int res = Amber.androidMain(args_list.toArray(new String[0]), stdout_file, stderr_file); + int res = Amber.androidHelper(args_list.toArray(new String[0]), stdout_file, stderr_file); // If the process crashes during the above call or we call System.exit below, the output // from `adb shell am instrument ...` will be: diff --git a/android_gradle/app/src/main/AndroidManifest.xml b/android_gradle/app/src/main/AndroidManifest.xml index 0ab9856..c74c390 100644 --- a/android_gradle/app/src/main/AndroidManifest.xml +++ b/android_gradle/app/src/main/AndroidManifest.xml @@ -4,6 +4,7 @@ <application android:allowBackup="true" + android:fullBackupOnly="true" android:label="Amber" android:supportsRtl="true"> <meta-data diff --git a/android_gradle/app/src/main/java/com/google/amber/Amber.java b/android_gradle/app/src/main/java/com/google/amber/Amber.java index 8319ccf..008c528 100644 --- a/android_gradle/app/src/main/java/com/google/amber/Amber.java +++ b/android_gradle/app/src/main/java/com/google/amber/Amber.java @@ -19,5 +19,5 @@ public class Amber { System.loadLibrary("amber_ndk"); } - public static native int androidMain(String[] args, String stdout_file, String stderr_file); + public static native int androidHelper(String[] args, String stdout_file, String stderr_file); } |