Bug 1123

Summary: Android Launcher/ClassLoaderUtil: Fails to work w/ Android 5.* (lollipop/art)
Product: [JogAmp] Gluegen Reporter: Sven Gothel <sgothel>
Component: coreAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: ---    
Version: 2.3.0   
Hardware: All   
OS: other   
Type: --- SCM Refs:
ee977a8a773b3461c42f64583d6cfe1ab5322b9e
Workaround: ---
Bug Depends on:    
Bug Blocks: 1122    

Description Sven Gothel 2015-01-28 01:17:26 CET
Our Android ClassLoaderUtil, used to daisy chain dex ClassLoader
using GlueGen, Joal and Jogl APK files, doesn't work 
on Android 5.* (lollipop) with the art runtime.

See below adb log.

Seems like this is a known issue
  https://code.google.com/p/android/issues/detail?id=82122

Workaround mentioned is to copy the APK file(s) 
to a temp directory ..

+++

D/JogampClassLoader( 5162): jogamp dexPath: /data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln-793896077/jln-541934443/jogampDex
D/JogampClassLoader( 5162): S: userPackageNames: [com.jogamp.common, javax.media.opengl]; Launcher: appDir /data/data, dataDir: /data/data/jogamp.android.launcher, nativeLibraryDir /data/app/jogamp.android.launcher-1/lib/arm
W/System.err( 5162): TempFileCache: *** Reaper: deleteOldTempDirs in /data/data/jogamp.android.launcher/app_temp/jogamp/file_cache
W/System.err( 5162): TempFileCache: removeAll(/data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln2053167485)
W/System.err( 5162): TempFileCache: removeAll(/data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln2053167485/jln-793896077.tmp)
W/System.err( 5162): TempFileCache: removeAll(/data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln2053167485/jln-793896077)
W/System.err( 5162): TempFileCache: removeAll(/data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln2053167485/jln-793896077/jogampDex)
W/System.err( 5162): TempFileCache: removeAll(/data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln2053167485/jln-793896077/jogampDex/base.dex)
D/JogampClassLoader( 5162): S: userPackage: com.jogamp.common, apk /data/app/com.jogamp.common-1/base.apk, appDir /data/data, dataDir: /data/data/com.jogamp.common, nativeLibraryDir /data/app/com.jogamp.common-1/lib/arm
D/JogampClassLoader( 5162): APK[0] found: <com.jogamp.common> -> </data/app/com.jogamp.common-1/base.apk>
D/JogampClassLoader( 5162): APK[0] apks: </data/app/com.jogamp.common-1/base.apk>
D/JogampClassLoader( 5162): APK[0] libs: </data/app/com.jogamp.common-1/lib/arm/>
D/JogampClassLoader( 5162): S: userPackage: javax.media.opengl, apk /data/app/javax.media.opengl-1/base.apk, appDir /data/data, dataDir: /data/data/javax.media.opengl, nativeLibraryDir /data/app/javax.media.opengl-1/lib/arm
D/JogampClassLoader( 5162): APK[1] found: <javax.media.opengl> -> </data/app/javax.media.opengl-1/base.apk>
D/JogampClassLoader( 5162): APK[1] apks: </data/app/com.jogamp.common-1/base.apk:/data/app/javax.media.opengl-1/base.apk>
D/JogampClassLoader( 5162): APK[1] libs: </data/app/com.jogamp.common-1/lib/arm/:/data/app/javax.media.opengl-1/lib/arm/>
I/dex2oat ( 5178): /system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm --instruction-set-features=div --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --dex-file=/data/app/com.jogamp.common-1/base.apk --oat-fd=22 --oat-location=/data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln-793896077/jln-541934443/jogampDex/base.dex --runtime-arg -Xms64m --runtime-arg -Xmx512m
I/dex2oat ( 5178): dex2oat took 530.117ms (threads: 2)
W/art     ( 5162): Failed to find OatDexFile for DexFile /data/app/javax.media.opengl-1/base.apk ( canonical path /data/app/javax.media.opengl-1/base.apk) with checksum 0xd8c176a7 in OatFile /data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln-793896077/jln-541934443/jogampDex/base.dex
I/dex2oat ( 5181): /system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm --instruction-set-features=div --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --dex-file=/data/app/javax.media.opengl-1/base.apk --oat-fd=20 --oat-location=/data/data/jogamp.android.launcher/app_temp/jogamp/file_cache/jln-793896077/jln-541934443/jogampDex/base.dex --runtime-arg -Xms64m --runtime-arg -Xmx512m

+++
Comment 1 Sven Gothel 2015-01-28 02:04:33 CET
ee977a8a773b3461c42f64583d6cfe1ab5322b9e
  Fixed as described (copy APK file)