aboutsummaryrefslogtreecommitdiff
path: root/android_gradle/app
diff options
context:
space:
mode:
authorPaul Thomson <paulthomson@users.noreply.github.com>2021-09-28 13:28:55 +0000
committerGitHub <noreply@github.com>2021-09-28 14:28:55 +0100
commit93e89eed2c22deb62b2d0a46a2e376c5132775cd (patch)
tree638dac80320509529d7e7be043a92e28a7b17194 /android_gradle/app
parent6b3fcb0353533d1236035c4aa3b587be5d8b37cd (diff)
downloadamber-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')
-rw-r--r--android_gradle/app/build.gradle44
-rw-r--r--android_gradle/app/src/androidTest/java/com/google/amber/AmberLauncher.java2
-rw-r--r--android_gradle/app/src/main/AndroidManifest.xml1
-rw-r--r--android_gradle/app/src/main/java/com/google/amber/Amber.java2
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);
}