【问题标题】:java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV11java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV11
【发布时间】:2015-08-02 04:34:51
【问题描述】:

我正在使用我的应用 AppCompat 进行材料设计。运行应用程序失败,在继承自 AppCompactActivity 的 MainActivity 类的 onCreate 中显示以下错误:

java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV11

目前我的应用程序还使用 Facebook SDK 和 Google Play 服务。我搜索了一个解决方案,但没有找到工作:(。有人可以帮助我感谢他。我留下了完整的错误日志。

PD:我正在使用 Eclipse。

05-20 13:51:46.039: E/AndroidRuntime(23589): FATAL EXCEPTION: main
05-20 13:51:46.039: E/AndroidRuntime(23589): Process: com.tauro.videochat, PID: 23589
05-20 13:51:46.039: E/AndroidRuntime(23589): java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV11
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:77)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:414)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at com.tauro.MainActivity.onCreate(MainActivity.java:82)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.Activity.performCreate(Activity.java:5990)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread.access$800(ActivityThread.java:151)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.os.Handler.dispatchMessage(Handler.java:102)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.os.Looper.loop(Looper.java:135)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread.main(ActivityThread.java:5254)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at java.lang.reflect.Method.invoke(Native Method)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at java.lang.reflect.Method.invoke(Method.java:372)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

版本:

Logcat 已满

05-20 13:51:42.944: I/art(23589): Rejecting re-init on previously-failed class java.lang.Class<android.support.v7.app.AppCompatDelegateImplV7>
05-20 13:51:42.945: I/art(23589): Rejecting re-init on previously-failed class java.lang.Class<android.support.v7.app.AppCompatDelegateImplV7>
05-20 13:51:42.945: I/art(23589): Rejecting re-init on previously-failed class java.lang.Class<android.support.v7.app.AppCompatDelegateImplV11>
05-20 13:51:42.946: I/art(23589): Rejecting re-init on previously-failed class java.lang.Class<android.support.v7.app.AppCompatDelegateImplV11>
05-20 13:51:42.947: I/art(23589): Rejecting re-init on previously-failed class java.lang.Class<android.support.v7.app.AppCompatDelegateImplV7>
05-20 13:51:42.947: I/art(23589): Rejecting re-init on previously-failed class java.lang.Class<android.support.v7.app.AppCompatDelegateImplV11>
05-20 13:51:42.948: I/art(23589): Rejecting re-init on previously-failed class java.lang.Class<android.support.v7.app.AppCompatDelegateImplV7>
05-20 13:51:42.948: I/art(23589): Rejecting re-init on previously-failed class java.lang.Class<android.support.v7.app.AppCompatDelegateImplV11>
05-20 13:51:42.949: D/AndroidRuntime(23589): Shutting down VM
05-20 13:51:46.039: E/AndroidRuntime(23589): FATAL EXCEPTION: main
05-20 13:51:46.039: E/AndroidRuntime(23589): Process: com.tauro.videochat, PID: 23589
05-20 13:51:46.039: E/AndroidRuntime(23589): java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV11
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:77)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:414)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at com.tauro.MainActivity.onCreate(MainActivity.java:82)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.Activity.performCreate(Activity.java:5990)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread.access$800(ActivityThread.java:151)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.os.Handler.dispatchMessage(Handler.java:102)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.os.Looper.loop(Looper.java:135)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at android.app.ActivityThread.main(ActivityThread.java:5254)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at java.lang.reflect.Method.invoke(Native Method)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at java.lang.reflect.Method.invoke(Method.java:372)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
05-20 13:51:46.039: E/AndroidRuntime(23589):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

【问题讨论】:

  • 我猜 Logcat 不完整
  • 这就是它显示 logcat 的全部内容
  • 在模拟器上还是在智能手机上?你的智能手机是什么?

标签: java android android-support-library material-design


【解决方案1】:

我也有同样的错误!它也没有为您提供问题的明确原因。那是多么痛苦。我花了一整天的时间试图找出解决办法。这是我发现的——Google Play 服务是一个庞大的代码库。对于我使用的所有其他通用库,我达到了 65k 方法的 dex 限制。这导致了我遇到的错误(也可能是您的错误)。

一些降低它的技巧:

  1. 有选择地选择您要使用的 Google Play 服务。 Directions here
  2. 如果这不起作用,请尝试多索引您的应用程序。 Directions here。注意:如果遇到问题,请尝试扩展 MultiDexApplication 而不是 Application。
  3. 清理项目,重新启动 Eclipse,和/或重新启动计算机。这已修复与上述 dex 问题无关的类似问题。

【讨论】:

    【解决方案2】:

    将兼容性-v4 v21 添加到您的构建中。

    我将它添加为 maven 依赖项:

    <dependency>
        <groupId>android.support</groupId>
        <artifactId>compatibility-v4</artifactId>
        <version>22.1.1</version>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      相关资源
      最近更新 更多