不能使用android-support libs - NoClassDefFoundError:android.support.v7.appcompat.R $ attr

时间:2014-07-17 16:24:55

标签: java android intellij-idea

我正在尝试使用支持库中的ActionBar在运行android 2.3的设备上执行我的应用程序

我已添加android-support-v4.jarandroid-support-v7-appcompat.jar,但ID无法正常工作。 代码没有错误,但如果我尝试在设备上运行它,我会收到此错误:

java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr

java.lang.ExceptionInInitializerError
            at android.support.v7.app.ActionBarActivityDelegate.createDelegate(ActionBarActivityDelegate.java:54)
            at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:96)
            at br.mviccari.spylogger.activities.Main.onCreate(Main.java:14)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
            at android.app.ActivityThread.access$1500(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3687)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr
            at android.support.v7.app.ActionBarActivityDelegateBase.<clinit>(ActionBarActivityDelegateBase.java:47)
            at android.support.v7.app.ActionBarActivityDelegate.createDelegate(ActionBarActivityDelegate.java:54)
            at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:96)
            at br.mviccari.spylogger.activities.Main.onCreate(Main.java:14)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
            at android.app.ActivityThread.access$1500(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3687)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
            at dalvik.system.NativeStart.main(Native Method)

我正在使用Intellij IDEA,我已经读过,对于eclipse用户来说它只是添加了lib,但对于Intellij我还需要别的东西,我只是不知道... 我该如何解决?

1 个答案:

答案 0 :(得分:1)

而不是使用IntelliJ,而是使用Android Studio 0.8.2;您必须在Android Studio中从0.8更新到0.8.2。从现在开始,从更新到更新,较新的测试版将与您配合使用。你不必担心更新改变一切。谷歌明确表示。

因此,使用此IDE,您不必担心支持库,它们已经存在,您可以从new Project向导中包含它们。此外,IDE专为Android开发而构建。

然而,如果您对仅使用普通的IntelliJ感到满意,那么您只需添加对导入的项目的引用 - appCompat