diff options
-rw-r--r-- | src/java/jogamp/android/launcher/AssetDexClassLoader.java | 28 | ||||
-rw-r--r-- | src/java/jogamp/android/launcher/ClassLoaderUtil.java | 6 |
2 files changed, 30 insertions, 4 deletions
diff --git a/src/java/jogamp/android/launcher/AssetDexClassLoader.java b/src/java/jogamp/android/launcher/AssetDexClassLoader.java index ec3ae6c..dcc162c 100644 --- a/src/java/jogamp/android/launcher/AssetDexClassLoader.java +++ b/src/java/jogamp/android/launcher/AssetDexClassLoader.java @@ -7,14 +7,36 @@ import android.util.Log; import dalvik.system.DexClassLoader; public class AssetDexClassLoader extends DexClassLoader { - private static final boolean DEBUG = false; + private static final boolean DEBUG = true; private static final String assets_folder = "assets/"; + private static int next_id = 1; + private final int id; + public AssetDexClassLoader(String dexPath, String dexOutputDir, String libPath, ClassLoader parent) { super(dexPath, dexOutputDir, libPath, parent); + synchronized(AssetDexClassLoader.class) { + id = next_id++; + } + if(DEBUG) { + Log.d(getSimpleName(), getIdName()+".ctor: dexPath " + dexPath + ", dexOutputDir " + dexOutputDir + ", libPath " + libPath + ", parent " + parent); + } + } + + protected final String getSimpleName() { + return AssetDexClassLoader.class.getSimpleName(); + } + protected final String getIdName() { + return "ADCL["+id+"]"; + } + + @Override + public String findLibrary(String libName) { + final String res = super.findLibrary(libName); if(DEBUG) { - Log.d(AssetDexClassLoader.class.getSimpleName(), "ctor: dexPath " + dexPath + ", dexOutputDir " + dexOutputDir + ", libPath " + libPath + ", parent " + parent); + Log.d(getSimpleName(), getIdName()+".findLibrary: " + libName + " -> " + res); } + return res; } @Override @@ -22,7 +44,7 @@ public class AssetDexClassLoader extends DexClassLoader { final String assetName = name.startsWith(assets_folder) ? name : assets_folder + name ; URL url = super.findResource(assetName); if(DEBUG) { - Log.d(AssetDexClassLoader.class.getSimpleName(), "findResource: " + name + " -> " + assetName + " -> " + url); + Log.d(getSimpleName(), getIdName()+".findResource: " + name + " -> " + assetName + " -> " + url); } return url; } diff --git a/src/java/jogamp/android/launcher/ClassLoaderUtil.java b/src/java/jogamp/android/launcher/ClassLoaderUtil.java index 4e044ea..dae099e 100644 --- a/src/java/jogamp/android/launcher/ClassLoaderUtil.java +++ b/src/java/jogamp/android/launcher/ClassLoaderUtil.java @@ -43,6 +43,7 @@ public class ClassLoaderUtil { // FIXME: Need to generalize this .. (Note: native lib resources must be cached!) private static final String[] packagesJogAmp = { "com.jogamp.common", "javax.media.opengl" }; + // JAU private static final String[] packagesJogAmp = { "javax.media.opengl" }; private static ClassLoader jogAmpClassLoader = null; // location where optimized dex files will be written @@ -104,6 +105,7 @@ public class ClassLoaderUtil { StringBuilder apks = new StringBuilder(); StringBuilder libs = new StringBuilder(); + // JAU libs.append("/data/data/com.jogamp.common/").append(ELEM_SEP); int apkCount = 0; String lastUserPackageName = null; // the very last one reflects the Activity @@ -124,10 +126,12 @@ public class ClassLoaderUtil { } } apks.append(userAPK); + Log.d(TAG, "APK["+apkCount+"] found: <"+lastUserPackageName+"> -> <"+userAPK+">"); + Log.d(TAG, "APK["+apkCount+"] apks: <"+apks.toString()+">"); if(addUserLibPath) { libs.append(appDir).append(PATH_SEP).append(lastUserPackageName).append(PATH_SEP).append(libSub).append(PATH_SEP); + Log.d(TAG, "APK["+apkCount+"] libs: <"+libs.toString()+">"); } - Log.d(TAG, "APK found: <"+lastUserPackageName+"> -> <"+userAPK+">"); apkCount++; } else { Log.d(TAG, "APK not found: <"+lastUserPackageName+">"); |