Android L:LinkageError崩溃应用程序

时间:2014-07-08 14:56:49

标签: android android-5.0-lollipop

作为针对L预览测试现有Android应用程序的一部分,应用程序崩溃时出现以下异常:

07-08 10:05:39.024: E/AndroidRuntime(2126): FATAL EXCEPTION: main
07-08 10:05:39.024: E/AndroidRuntime(2126): Process: com.example, PID: 2126
07-08 10:05:39.024: E/AndroidRuntime(2126): java.lang.LinkageError: com.example.BaseActivity
07-08 10:05:39.024: E/AndroidRuntime(2126):     at dalvik.system.DexFile.defineClassNative(Native Method)
07-08 10:05:39.024: E/AndroidRuntime(2126):     at dalvik.system.DexFile.defineClass(DexFile.java:222)
07-08 10:05:39.024: E/AndroidRuntime(2126):     at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:215)
07-08 10:05:39.024: E/AndroidRuntime(2126):     at dalvik.system.DexPathList.findClass(DexPathList.java:321)
07-08 10:05:39.024: E/AndroidRuntime(2126):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)

该应用程序在API级别14-19中运行良好,但在L预览中启动时会出现此隐藏错误。 compile / targetSdk版本仍设置为API 19。

1 个答案:

答案 0 :(得分:20)

问题是BaseActivity中存在冲突的方法。我创建了一个名为getDrawable(int drawableId)的辅助方法,该方法与添加到Android L中Activity类的方法具有相同的签名。

此冲突导致LinkageError。为了解决这个问题,我只是重命名了我的帮助方法,因此它不会与新的内置方法发生冲突。