【问题标题】:java.lang.ClassNotFoundException dalvik.system.BaseDexClassLoader.findClassjava.lang.ClassNotFoundException dalvik.system.BaseDexClassLoader.findClass
【发布时间】:2017-09-02 20:03:17
【问题描述】:

伙计们,我的 apk 可以在我自己的手机上运行,​​但我将它附加到 Google Play 商店。我从商店安装了应用程序,但它不起作用。 当我检查开发者控制台时,我看到了这个错误。 请帮帮我,我该怎么办?

java.lang.RuntimeException: 
 at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2819) 
 at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2988) 
 at android.app.ActivityThread.-wrap14 (ActivityThread.java) 
 at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1631)
 at android.os.Handler.dispatchMessage (Handler.java:102) 
 at android.os.Looper.loop (Looper.java:154) at android.app.ActivityThread.main (ActivityThread.java:6682) 
 at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520) 
 at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)
Caused by: java.lang.ClassNotFoundException: 
 at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56) 
 at java.lang.ClassLoader.loadClass (ClassLoader.java:380) 
 at java.lang.ClassLoader.loadClass (ClassLoader.java:312) at android.app.Instrumentation.newActivity (Instrumentation.java:1086) 
 at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2809)

【问题讨论】:

  • 在不知道它找不到哪个类(应该在这个堆栈跟踪附近的日志输出中)的情况下,我们真的没有太多机会提供帮助。另请阅读有关提出好问题的帮助:stackoverflow.com/help/how-to-ask
  • 可能与您的 Proguard / Minify 配置有关,请尝试在您的调试版本中启用 Proguard / Minify,从 Android Studio 在设备上构建/安装,看看您是否遇到同样的问题。
  • @Uncle Soft 这个问题你解决了吗?我在 Google Play 控制台中遇到了这个异常,但我不知道是什么原因造成的

标签: android


【解决方案1】:

将此添加到 gradle.build:

defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...

// Enabling multidex support.
multiDexEnabled true
}

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}

并且 android:name="android.support.multidex.MultiDexApplication"

到 AndroidManifest.xml 中的<application />

来源: https://developer.android.com/studio/build/multidex.html

【讨论】:

    【解决方案2】:

    执行@Sameer 提到的步骤,然后确保您的 Instant Run 已关闭。 在我写这个答案的时候,Instant Run 仍然不是完美的,尤其是当涉及到 Multidexed 文件时。

    要关闭 Instant Run,

    (Mac Users)
    >> Command + Comma (⌘ + ,)
    >> "Build, Execution and Deployment" section
    >> Instant Run
    >> Disable the checkbox
    >> (Window users, you may have to search, probably in the settings section)
    

    现在清理您的项目并运行它。

    【讨论】:

      猜你喜欢
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-22
      相关资源
      最近更新 更多