java.io.IOException: Aucun origine dex fichiers trouvés pour dex emplacement

Je suis en train de construire une application Android en utilisant le dernier SDK de fichiers de projet qui n'ont pas été mis à jour depuis 2015. Avec un peu de travail, j'ai réussi à obtenir la création et l'installation, mais lorsque je le lance j'ai une erreur que je ne trouve pas beaucoup d'information sur: "java.io.IOException: Aucun origine dex fichiers trouvés pour dex emplacement".

Voici le texte intégral de l'erreur:

03-19 23:32:37.418 10121 10121 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.xxx.xxx/com.xxx.xxx.LaunchActivity}: java.lang.ClassNotFoundException: Didn't find class "com.xxx.xxx.LaunchActivity" on path: DexPathList[[zip file "/data/app/com.xxx.xxx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx.xxx-1/lib/arm, /system/fake-libs, /data/app/com.xxx.xxx-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2604)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2788)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.app.ActivityThread.-wrap12(ActivityThread.java)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1503)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:102)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:154)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:6209)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
03-19 23:32:37.418 10121 10121 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.xxx.xxx.LaunchActivity" on path: DexPathList[[zip file "/data/app/com.xxx.xxx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx.xxx-1/lib/arm, /system/fake-libs, /data/app/com.xxx.xxx-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.app.Instrumentation.newActivity(Instrumentation.java:1094)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2594)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    ... 9 more
03-19 23:32:37.418 10121 10121 E AndroidRuntime:    Suppressed: java.io.IOException: No original dex files found for dex location /data/app/com.xxx.xxx-1/base.apk
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.DexFile.openDexFileNative(Native Method)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.DexFile.openDexFile(DexFile.java:373)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.DexFile.<init>(DexFile.java:113)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.DexFile.<init>(DexFile.java:78)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.DexPathList.loadDexFile(DexPathList.java:359)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.DexPathList.makeElements(DexPathList.java:323)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.DexPathList.makeDexElements(DexPathList.java:263)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.DexPathList.<init>(DexPathList.java:126)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:48)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:58)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:525)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.LoadedApk.getClassLoader(LoadedApk.java:558)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.ActivityThread.getTopLevelResources(ActivityThread.java:1902)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.LoadedApk.getResources(LoadedApk.java:774)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.ContextImpl.<init>(ContextImpl.java:2083)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.ContextImpl.createAppContext(ContextImpl.java:2028)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5383)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.ActivityThread.-wrap2(ActivityThread.java)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1571)
03-19 23:32:37.418 10121 10121 E AndroidRuntime:        ... 6 more

Et voici la dex de sortie:

-dex:
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/bin/classes
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/google/play_apk_expansion/downloader_library/bin/classes.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/google/play_licensing/library/bin/classes.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/crittercism_v1_3_0.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/jackson-mapper-asl-1.8.4.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/google/play_apk_expansion/downloader_library/libs/android-support-v4.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/dropbox-android-sdk-1.5.4.jar
[dex] input: /Users/alvion/Library/Android/sdk/tools/support/annotations.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/ouya-sdk.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/guava-r09.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/in-app-purchasing-1.0.3.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/jackson-core-asl-1.8.4.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/json_simple-1.1.jar
[dex] input: /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/commons-lang-2.6.jar
[dex] Pre-Dexing /Users/alvion/df/xxx/xxx/Code/Host-Ant/google/play_apk_expansion/downloader_library/bin/classes.jar -> classes-81c328b1bd235b3a63ab7b7dc3612832.jar
[dex] Using Pre-Dexed classes-8402751112432f9e98dc60e91b59aa39.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/google/play_licensing/library/bin/classes.jar
[dex] Using Pre-Dexed crittercism_v1_3_0-3d69c6e931684bd63dfe2e833d0aebe6.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/crittercism_v1_3_0.jar
[dex] Using Pre-Dexed jackson-mapper-asl-1.8.4-ffc362a66f3bc5bb8073e3401c4d7c7b.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/jackson-mapper-asl-1.8.4.jar
[dex] Using Pre-Dexed android-support-v4-39781f5ab2494414fb73e335497fb91d.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/google/play_apk_expansion/downloader_library/libs/android-support-v4.jar
[dex] Using Pre-Dexed dropbox-android-sdk-1.5.4-e975c3510f4992bd1ed860294caaaec6.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/dropbox-android-sdk-1.5.4.jar
[dex] Using Pre-Dexed annotations-812d332b38fbdb408dd663820ddaf9f6.jar <- /Users/alvion/Library/Android/sdk/tools/support/annotations.jar
[dex] Using Pre-Dexed ouya-sdk-7728ab2d7956de1baa1d2087c8b3543b.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/ouya-sdk.jar
[dex] Using Pre-Dexed guava-r09-e1a6934eeb9a0381c562ff20974676c2.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/guava-r09.jar
[dex] Using Pre-Dexed in-app-purchasing-1.0.3-fa4d8ee5ba37ef3c2e63307e237f5958.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/in-app-purchasing-1.0.3.jar
[dex] Using Pre-Dexed jackson-core-asl-1.8.4-d94d4ec863304731c24c400b1f59e0be.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/jackson-core-asl-1.8.4.jar
[dex] Using Pre-Dexed json_simple-1.1-162e5f2c569f2c90fd6fa9067260bced.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/json_simple-1.1.jar
[dex] Using Pre-Dexed commons-lang-2.6-73a87249d3e4206fda186982d953eb0b.jar <- /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/libs/commons-lang-2.6.jar
[dex] Found modified input file
[dex] Converting compiled files and external libraries into /Users/alvion/df/xxx/xxx/Code/Host-Ant/Game/bin/classes.dex...
[dx] Merged dex #1 (87 defs/139.5KiB)
[dx] Merged dex #2 (371 defs/436.8KiB)
[dx] Merged dex #3 (2 defs/1.1KiB)
[dx] Merged dex #4 (50 defs/90.6KiB)
[dx] Merged dex #5 (25 defs/35.5KiB)
[dx] Merged dex #6 (133 defs/331.3KiB)
[dx] Merged dex #7 (69 defs/199.7KiB)
[dx] Merged dex #8 (73 defs/84.7KiB)
[dx] Merged dex #9 (883 defs/1023.2KiB)
[dx] Merged dex #10 (85 defs/58.1KiB)
[dx] Merged dex #11 (129 defs/232.0KiB)
[dx] Merged dex #12 (432 defs/535.7KiB)
[dx] Merged dex #13 (12 defs/21.8KiB)
[dx] Merged dex #14 (204 defs/181.7KiB)
[dx] Result is 2555 defs/4209.8KiB. Took 0.6s

Quelques détails à propos de l'application:

  • C'est un jeu, et c'est vraiment gros. 2.5 des concerts pour les apk, et des tonnes de code c++, bien que très peu de code Java.
  • Lorsque vous essayez d'installer via "adb install" il était en train de donner des erreurs aléatoires le long de la lignes de la suite, mais avec un nom de fichier différent à chaque fois. Je suppose que cela a quelque chose à voir avec l'extraordinaire de la taille de l'apk, mais je ne suis pas sûr, et je ne suis pas sûr si elle peut être liée à la question actuelle.

Failed to install drm_free/Xxx-debug.apk: Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed reading assets/some/random/asset.bin in android.util.jar.StrictJarFile@710a502: META-INF/MANIFEST.MF has invalid digest for assets/some/random/asset.bin in assets/some/random/asset.bin]

La seule question connexe que j'ai pu trouver était cette une mais il ne semble pas liée, puisqu'il y a très peu de code Java dans cette application, donc frapper la dex méthode limite n'a pas de sens. La solution proposée, il est non-trivial, car la multiDexEnabled bien ce que je dois mettre dans mon processus de construction ne semble être exposés dans le fichier de build gradle, je n'en ai pas parce que c'est un projet ancien.

InformationsquelleAutor alvion | 2017-03-20