aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2019-12-26 04:18:20 +0100
committerSven Gothel <[email protected]>2019-12-26 04:18:20 +0100
commit6e98be1a1bc819b47e2cc52eb35d23a7489fdf1b (patch)
treed920eebe29a5216dc766ab54eeb6f9961293b824
parentd190301a82a961ac3246890206200086842059bd (diff)
Bug 1417 - Android: jogamp-env.xml: Elaborate on Android SDK API versions required [min=21, target=28], javac w/ 24, some NDK's clang with 22.
-rwxr-xr-xmake/jogamp-env.xml30
-rw-r--r--make/resources/android/AndroidManifest-Launcher.xml2
-rw-r--r--make/resources/android/AndroidManifest-Runtime.xml2
-rw-r--r--make/resources/android/AndroidManifest-Test.xml2
4 files changed, 30 insertions, 6 deletions
diff --git a/make/jogamp-env.xml b/make/jogamp-env.xml
index 332554e..a5575f8 100755
--- a/make/jogamp-env.xml
+++ b/make/jogamp-env.xml
@@ -11,14 +11,36 @@
Official production builds are performed _on_ OpenJDK 11
and a Java JDK 11 or greater is required!
- Android 7.0 Nougat, API level 24 supports Java 1.8,
- see https://developer.android.com/studio/write/java8-support
-
Target Java 8 baseline is chosen today, June 2019,
since OpenJDK 1.8 is well supported on desktop,
mobile support is given w/ OpenJDK 9 and
Android also support these language features for almost 3 years.
+
+ +++
+ Android 7.0 Nougat, API level 24 supports Java 1.8,
+ see <https://developer.android.com/studio/write/java8-support>.
+
+ However, we need to set the APK's manifest SDK min version to 21 (Android 5)
+ and target version to 28 (Android 9), as required as of 2019-08-01
+ <https://support.google.com/googleplay/android-developer/answer/113469#targetsdk>
+
+ <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
+
+ Due to certain libc compatibility issues of Android API > 22,
+ we compile certain native libraries @ API 22,
+ see <https://github.com/android/ndk/issues/964>.
+ One example is OpenAL-Soft.
+
+ It is strongly recommended to test with the x86 emulator
+ using the latest API level.
+ On 2019-12-25 we have tested using Android 10, API 29 on the x86 emulator.
+
+ Further testing should be performed from Android 5, API 21, to Android 9, API 28,
+ as well as on aarch64 and armv7a devices.
+
+ +++
+
For crosscompilation the following shall be set:
- TARGET_PLATFORM_SYSROOT Crosscompiler and system specified 'sysroot' (as in gcc \-\-print-sysroot)
- TARGET_PLATFORM_USRROOT Additional optional user headers and libraries for target
@@ -142,6 +164,8 @@
</not>
</condition>
+ <property name="android.api.level.min" value="21" />
+
<condition property="android.api.level" value="${env.ANDROID_API_LEVEL}" else="24">
<not>
<equals arg1="${env.ANDROID_API_LEVEL}" arg2="$${env.ANDROID_API_LEVEL}" casesensitive="true" />
diff --git a/make/resources/android/AndroidManifest-Launcher.xml b/make/resources/android/AndroidManifest-Launcher.xml
index b554267..6bd919f 100644
--- a/make/resources/android/AndroidManifest-Launcher.xml
+++ b/make/resources/android/AndroidManifest-Launcher.xml
@@ -11,7 +11,7 @@
<!-- uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" / --> <!-- required for Android-Trace -->
<uses-permission android:name="android.permission.CAMERA" />
- <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/>
+ <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
<application android:icon="@drawable/icon"
android:label="@string/app_launcher_name"
diff --git a/make/resources/android/AndroidManifest-Runtime.xml b/make/resources/android/AndroidManifest-Runtime.xml
index 7c9d867..ebed47c 100644
--- a/make/resources/android/AndroidManifest-Runtime.xml
+++ b/make/resources/android/AndroidManifest-Runtime.xml
@@ -6,7 +6,7 @@
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<!-- uses-feature android:name="android.hardware.camera" android:required="false" / --> <!-- not yet -->
- <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/>
+ <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
<application android:icon="@drawable/icon"
android:label="@string/app_runtime_name"
diff --git a/make/resources/android/AndroidManifest-Test.xml b/make/resources/android/AndroidManifest-Test.xml
index 41bee09..7058323 100644
--- a/make/resources/android/AndroidManifest-Test.xml
+++ b/make/resources/android/AndroidManifest-Test.xml
@@ -9,7 +9,7 @@
<uses-library android:name="com.jogamp.common" android:required="true" />
- <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/>
+ <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
<application android:icon="@drawable/icon"
android:label="@string/app_test_name"