summaryrefslogtreecommitdiffstats
path: root/make/jogamp-env.xml
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 /make/jogamp-env.xml
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.
Diffstat (limited to 'make/jogamp-env.xml')
-rwxr-xr-xmake/jogamp-env.xml30
1 files changed, 27 insertions, 3 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" />