Bug 1520

Summary: Android: Ensure Android 11 (API 30) + 14 (API 34) Compatibility
Product: [JogAmp] Gluegen Reporter: Sven Gothel <sgothel>
Component: coreAssignee: Sven Gothel <sgothel>
Status: IN_PROGRESS ---    
Severity: normal    
Priority: P4    
Version: 2.6.0   
Hardware: All   
OS: other   
Type: DEFECT SCM Refs:
gluegen 4a385f0c06b0117ded3fca87bc433f157bfca6a1 gluegen 605815987d11b458b102cc549ed870a69fe9b95e gluegen 1afa0e423e5c949976395a05dba35ee0e6eb7ee9 gluegen 35896e7984b8047282df474b76eadb20eb6bddda gluegen 5400c3ce900b3be7472ff36b33ff7751686d2c1f joal 17ec23123afd4ef1472fdd887b0441e4479304af
Workaround: ---

Description Sven Gothel 2025-07-14 00:06:19 CEST
Android 11 (SDK API 30): Package visibility in Android 11
- PackageManager.getApplicationInfo() fails with NameNotFoundException
- See <https://developer.android.com/training/package-visibility>
- Solution: Add query in users' apk or JogAmp AndroidLauncher `jogamp.android.launcher` manifest
  - See <https://developer.android.com/guide/topics/manifest/queries-element>

Android 11 (SDK API 30): Requires version min. request <= JNI_VERSION_1_6, JNI_VERSION_1_8 is rejected.
- In general, we can ask for a JNI_VERSION_1_6 min required version across all modules.

Android 14 (SDK API 34): Writable dex file is not allowed
- See <https://www.webviewgold.com/support-center/knowledgebase/solving-the-writable-dex-file-is-not-allowed-crash-in-android-apps/>
- Solution: Mark destination apk dex-file read-only
Comment 1 Sven Gothel 2025-07-14 02:38:16 CEST
Android: Ensure activities include `android:exported="true"`
Comment 2 Sven Gothel 2025-07-14 03:00:16 CEST
commit 35896e7984b8047282df474b76eadb20eb6bddda
    Android: Add android-stripped.jar (API 24) less java.* packages, avoiding collisions w/ Eclipse editor
Comment 3 Sven Gothel 2025-07-14 03:01:10 CEST
commit 5400c3ce900b3be7472ff36b33ff7751686d2c1f
    Eclipse: Use android-stripped.jar in .classpath (via use library)