【问题标题】:Exception java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable异常 java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
【发布时间】:2014-11-27 06:43:22
【问题描述】:

大家好,我在使用支持库时遇到了一个异常。我知道 SO 中有很多问题和答案,但没有人适合我

11-27 11:58:15.470: E/AndroidRuntime(19609): FATAL EXCEPTION: main
11-27 11:58:15.470: E/AndroidRuntime(19609): java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:147)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:138)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at com.devicemonitor.DeviceMonitorActivity.onCreate(DeviceMonitorActivity.java:29)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.app.Activity.performCreate(Activity.java:5104)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.os.Looper.loop(Looper.java:137)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at android.app.ActivityThread.main(ActivityThread.java:5041)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at java.lang.reflect.Method.invokeNative(Native Method)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at java.lang.reflect.Method.invoke(Method.java:511)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
11-27 11:58:15.470: E/AndroidRuntime(19609):    at dalvik.system.NativeStart.main(Native Method)

我所做的就是这样 - 我在 android java 构建路径中有 android-support-v7-appcompat.jar 和 android-support-v4.jar。

在 SO 中的一些答案中建议我在 java 构建路径中未检查的 Android 依赖项我也尝试过,但没有任何东西对我有用。

在我的 gen 文件夹中,有两个包,一个用于 goole-play-service-lib,另一个用于我的项目,在我的项目包中,gen 文件夹下只有 trwo 文件有 R.java 和 BuildCONfig.java。有人有什么建议请给我建议

【问题讨论】:

    标签: android android-appcompat


    【解决方案1】:

    将 support.v7.appcompat 作为库项目导入您的工作区并将其附加到您的项目中。

    试试这个,它肯定会工作。 如果您仍然遇到任何问题,请发表评论。

    【讨论】:

    • 你的意思是把它添加为 lib /extras/android/support/samples/Support7Demos/
    • \extras\android\support\v7\appcompat 我指的是这个。
    • 导入后,你知道如何在你的项目中添加这个吗?或者我应该解释所有的步骤吗?
    • 我试过了。 appcompat 它在此行 ?android:attr/actionModeShareDrawable 的文件夹 value-v21 theme_base.xml 中自我显示错误
    • 是的,这是因为您的编译器设置为低于 21 api。转到属性> android> 将 apilevel 21 标记为选中保存然后清理这个库项目。
    【解决方案2】:

    您只需删除您的 appcompat 并将其重新导入 eclipse 并将其 android 内置属性更改为最高 api 配置。清理您的项目,将 R 文件复制粘贴到 gen 包中,并将项目构建路径更改为最高 api 级别,如 api-21。

    这会解决你的问题。

    【讨论】:

      【解决方案3】:

      在“android-support-v7-appcompat”项目中:

      -Delete “android-support-v7-appcompat” from Package explorer.
      -Import again and check “Copy into workspace”
      -In Properties -> Android -> in Project build target, uncheck Android 2.2 and check Android 4.1.2
      -In Java build path, uncheck if you have any .jar library, and uncheck the Dependence
      

      最后这就是你需要做的。

      【讨论】:

      • 我试过了。 appcompat 它在此行 ?android:attr/actionModeShareDrawable 的文件夹 value-v21 theme_base.xml 中自我显示错误
      • 如果这个库本身显示错误,我该如何将它用作库。请给我建议。
      • 我的 aapcompat 中什至没有文件夹 value-v21 :O
      • 也许你应该下载一个新的 appcompat :|
      • @dilshad Ahmed 按照我的解释更改属性,它将消除此错误。
      【解决方案4】:

      尝试使用项目资源导入 v7 appcompat,而不是直接使用 .jar 文件。

      这里是使用资源导入 appcompat 的链接 - https://developer.android.com/tools/support-library/setup.html

      如果您在导入 v7 appcompat 后在项目中遇到问题,请交叉检查 manifest 中的目标 sdk 版本,并将目标 sdk 版本设置为最新的 sdk api 版本。

      希望对你有帮助!!

      【讨论】:

        【解决方案5】:

        问题似乎更广泛,但在我的特殊情况下,它是由 build.gradle 中的以下依赖项之间的冲突引起的

        compile 'com.facebook.android:facebook-android-sdk:3.21.1'
        
        compile 'com.google.android.gms:play-services-plus:7.5.0'
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-10-01
          • 1970-01-01
          • 2015-11-13
          • 2013-03-31
          • 2016-01-24
          • 2015-08-02
          相关资源
          最近更新 更多