Hi,
Is somone who play with multidex setting in VS Oxygene for Android ?
I reached 64 k limit and I want to set Multidex for my app.
I changed settings (Android MultiDex = true) and my Application Object hasn’t been created at all…
I have my own lib .jar and shared projects - should I set (Android MultiDex = true) for my lib ?
In my lib i have my base objects like activities, fragments , adapters … In my app I inherit from them ?
Have you got any directions in this topic ?
Main activity and Application object hasn’t been run properly without multidex all works fine…
I did simple example (without MultiDex it is working - with Multidex it is not working)
As you can see class is not found (app) - what should I do more ???
Here is interesting part of output window :
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate application org.me.androidapplication1.app: java.lang.ClassNotFoundException: Didn’t find class “org.me.androidapplication1.app” on path: DexPathList[[zip file “/data/app/org.me.androidapplication1-2/base.apk”],nativeLibraryDirectories=[/data/app/org.me.androidapplication1-2/lib/arm, /vendor/lib, /system/lib]]
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.LoadedApk.makeApplication(LoadedApk.java:578)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4680)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.ActivityThread.-wrap1(ActivityThread.java)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn’t find class “org.me.androidapplication1.app” on path: DexPathList[[zip file “/data/app/org.me.androidapplication1-2/base.apk”],nativeLibraryDirectories=[/data/app/org.me.androidapplication1-2/lib/arm, /vendor/lib, /system/lib]]
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.Instrumentation.newApplication(Instrumentation.java:981)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.LoadedApk.makeApplication(LoadedApk.java:573)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: … 9 more
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: Suppressed: java.io.IOException: No original dex files found for dex location /data/app/org.me.androidapplication1-2/base.apk
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.DexFile.openDexFileNative(Native Method)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.DexFile.openDexFile(DexFile.java:295)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.DexFile.(DexFile.java:80)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.DexFile.(DexFile.java:59)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.DexPathList.loadDexFile(DexPathList.java:279)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.DexPathList.makePathElements(DexPathList.java:248)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.DexPathList.(DexPathList.java:120)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:48)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at dalvik.system.PathClassLoader.(PathClassLoader.java:65)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:58)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.LoadedApk.getClassLoader(LoadedApk.java:376)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at android.app.LoadedApk.makeApplication(LoadedApk.java:568)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: … 9 more
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: Suppressed: java.lang.ClassNotFoundException: org.me.androidapplication1.app
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at java.lang.Class.classForName(Native Method)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: … 12 more
LogCat: 01-09 18:56:07.181 23444 23444 E AndroidRuntime: Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
LogCat: 01-09 18:56:07.183 775 1864 W ActivityManager: Force finishing activity org.me.androidapplication1/.MainActivity
Here is the code
multidex.7z (56.5 KB)
I’m using latest official version.
How to add multiDexEnabled in our gradle script ??
Can I configure in Remobjects some other parameters used by dex (for example --main-dex-list) ?
Where can I change it to inform dex about my main class ?
Mateusz