首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java.io.IOException:未找到dex位置的原始dex文件

java.io.IOException:未找到dex位置的原始dex文件
EN

Stack Overflow用户
提问于 2017-03-20 15:12:32
回答 7查看 26.8K关注 0票数 22

我正在尝试使用自2015年以来未更新的项目文件中的最新SDK构建一个Android应用程序。通过一些工作,我已经设法让它构建和安装,但当我启动时,我得到一个错误,我找不到太多的信息:"java.io.IOException:没有找到dex位置的原始dex文件“。

以下是错误的完整文本:

代码语言:javascript
复制
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

下面是相关的dex输出:

代码语言:javascript
复制
-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

下面是关于这款应用的一些细节:

  • 这是一个游戏,它真的很大。
  • 在尝试通过"adb install“进行安装时,会出现以下内容的随机错误,但每次都使用不同的文件名。我认为这与apk的超大尺寸有关,但我不确定,也不确定这是否与当前的问题有关。

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]

我能找到的唯一相关问题是this one,但它看起来并不相关,因为这个应用程序中只有很少的实际Java代码,所以达到dex方法限制是没有意义的。这里提供的解决方案非常重要,因为我在构建过程中需要设置的multiDexEnabled属性似乎只在gradle build文件中公开,而我没有这个文件,因为这是一个遗留项目。

EN

回答 7

Stack Overflow用户

发布于 2018-10-30 18:09:00

在我的案例中,设置>构建、执行、部署>即时运行

取消选中“在部署时启用即时运行以热插拔代码/资源更改”

工作得很好。

票数 11
EN

Stack Overflow用户

发布于 2018-10-03 23:40:23

我遇到了类似的问题和解决方案:转到debug块中的build.gradle(Module: app)并禁用minifyEnabled

代码语言:javascript
复制
debug {
            minifyEnabled false

        }
票数 10
EN

Stack Overflow用户

发布于 2019-03-05 17:13:32

我在Room中遇到了这个错误。为了解决这个问题,我只需要清理项目,然后运行它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42897739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档