Bug 1123 - Android Launcher/ClassLoaderUtil: Fails to work w/ Android 5.* (lollipop/art)
Summary: Android Launcher/ClassLoaderUtil: Fails to work w/ Android 5.* (lollipop/art)
Status: RESOLVED FIXED
Alias: None
Product: Gluegen
Classification: JogAmp
Component: core (show other bugs)
Version: 2
Hardware: All other
: --- enhancement
Assignee: Sven Gothel
URL:
Depends on:
Blocks: 1122
  Show dependency treegraph
 
Reported: 2015-01-28 01:17 CET by Sven Gothel
Modified: 2015-01-28 02:12 CET (History)
0 users

See Also:
Type: ---
SCM Refs:
ee977a8a773b3461c42f64583d6cfe1ab5322b9e
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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)