Obsolete
Status Update
Comments
di...@gmail.com <di...@gmail.com> #2
better practice and documentation about this issue will be appreciated
i....@gmail.com <i....@gmail.com> #3
Agreed, this is a must for me to securely pass information to a Google Webapp dopost function. URL querystrings are not secure...
sa...@google.com <sa...@google.com> #4
I see the request status has not changes for this item, is there a current update on if this feature will be implemented in the Google Webapp product?
Description
android.content.pm.ApplicationInfo appInfoSettings = this.getPackageManager().getApplicationInfo("xxx.yyy.zzz", PackageManager.GET_META_DATA);
DexClassLoader dclSettings = new DexClassLoader(appInfoSettings.sourceDir,getDir("dex", 0).getPath(),null,getClass().getClassLoader());
I can load classes from this one.
Then I do the same thing for another package. So far, so good.
But if I try to load a class from the second dex file, application crashes so bad, that it does, even if i try to do it from "expressions" panel in eclipse.
If I have one DexClassLoader it all works OK, no matter which package I choose.
Error reproduces on Android L. Nexus 5 and Genymotion emulator.
Android 4.4 and below works perfectly.
Part of the log after crash which I found interesting.
"xxx.yyy" - main package
"xxx.yyy.zzz||qqq" - child (loadable) packages.
12-09 07:39:38.134: W/art(1692): Failed to find OatDexFile for DexFile /data/app/xxx.yyy.zzz-1/base.apk ( canonical path /data/app/xxx.yyy.zzz-1/base.apk) with checksum 0x53f72e98 in OatFile /data/data/xxx.yyy/app_dex/base.dex
12-09 07:39:38.148: I/dex2oat(1709): /system/bin/dex2oat --runtime-arg -classpath --runtime-arg --instruction-set=x86 --instruction-set-features=default --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --dex-file=/data/app/xxx.yyy.zzz-1/base.apk --oat-fd=25 --oat-location=/data/data/xxx.yyy/app_dex/base.dex --runtime-arg -Xms64m --runtime-arg -Xmx512m
12-09 07:39:38.210: W/EGL_genymotion(608): eglSurfaceAttrib not implemented
12-09 07:39:38.210: W/OpenGLRenderer(608): Failed to set EGL_SWAP_BEHAVIOR on surface 0x9fa027e0, error=EGL_SUCCESS
12-09 07:39:38.865: I/dex2oat(1709): dex2oat took 715.949ms (threads: 1)
12-09 07:39:38.868: W/art(1692): Failed to find OatDexFile for DexFile /data/app/xxx.yyy.qqq-1/base.apk ( canonical path /data/app/xxx.yyy.qqq-1/base.apk) with checksum 0x6a14d45c in OatFile /data/data/xxx.yyy/app_dex/base.dex
12-09 07:39:38.878: I/dex2oat(1712): /system/bin/dex2oat --runtime-arg -classpath --runtime-arg --instruction-set=x86 --instruction-set-features=default --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --dex-file=/data/app/xxx.yyy.qqq-1/base.apk --oat-fd=25 --oat-location=/data/data/xxx.yyy/app_dex/base.dex --runtime-arg -Xms64m --runtime-arg -Xmx512m
12-09 07:39:39.821: I/dex2oat(1712): dex2oat took 942.665ms (threads: 1)
I found this commit log:
Wonder if it correlates with my problem, I'm a java-only man.