将项目更新到Android L后,Android项目无法正常工作

时间:2014-12-19 20:33:31

标签: android android-studio

我刚刚将我的android studio项目更新为最新的SDK版本,但它无法正常工作。 Gradle同步成功,但应用程序在启动时崩溃。

这是崩溃:

java.lang.NoClassDefFoundError: android.support.v7.app.ActionBarActivityDelegateICS
            at android.support.v7.app.ActionBarActivityDelegate.createDelegate(ActionBarActivityDelegate.java:47)
            at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:96)
            at <package>.MainActivity.onCreate(MainActivity.java:170)
            at android.app.Activity.performCreate(Activity.java:5541)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2411)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2507)
            at android.app.ActivityThread.access$900(ActivityThread.java:172)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5692)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
            at dalvik.system.NativeStart.main(Native Method)

以下是build.gradle中依赖项标记中的行:

compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:6.5.87'

我的build.gradle - http://pastebin.com/NvrWZfEj

3 个答案:

答案 0 :(得分:0)

问题可能不是在您的代码中,而是在编译中的编译中,所以这是我为修复错误消息而做的,这些错误消息在升级到5.0版本之后是错误的

对我来说,用android 5 api 21重新编译项目后,同样的问题已经消失了

选择项目右键单击而不是alt-enter在eclipse编译中使用您的设备当前os

答案 1 :(得分:0)

你通常得到的NoClassDefFoundError&#39;当您使用的类在编译时可用;但不是在运行时。

NoClassDefFoundError

所以我的猜测是;您正在使用仿真器/设备(您的应用程序在其中运行),其Android版本与Android L(您编译代码的版本)不同。因此,相信您可以将您的模拟器/设备升级到Android L ...或者可能设置&#39; minSdkVersion&#39;(在build.gradle中)以解决InCompatibility问题。希望这会有所帮助。

答案 2 :(得分:-1)

我遇到了同样的问题。我没有尝试修复旧项目,而是删除了旧项目并启动了新项目,并一次复制粘贴遗留代码一项功能。

有时,根本不值得弄清楚为什么或什么。