我有一个Android库,我在两个不同的项目中使用它。在其中一种情况下,我可以正确地使用库。然而,在第二个项目中,我遇到了NoClassDefFound异常。
08-31 07:
49:23.155 7073-7073/com.my.android.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.my.android.app, PID: 7073 java.lang.NoClassDefFoundError: com.my.android.library.MyClass找不到的类在APK内部。我可以在classes.jar中看到它,我可以进入类的代码中,但当执行它时,它崩溃了。最后,我安装了全新的Android Studio2.2,并使用了APK分析器,我可以在classes.dex中看到找不到的类。
发布于 2016-09-20 22:17:58
您的项目和库依赖项可能已达到64K方法引用限制,这会导致创建多个dex文件。要确保multidex是问题的根源,请尝试:
1-将multidex dependency添加到项目的build.gradle中:
compile 'com.android.support:multidex:1.0.0'2-将multiDexEnabled true添加到您的build.gradle文件:
defaultConfig {
applicationId "your.package.name"
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
multiDexEnabled true
}3-为你的项目创建一个扩展MultidexApplication的应用程序类:
public class MyApplication extends MultiDexApplication4-更改AndroidManifest.xml以使用MyApplication类作为应用程序的入口点:
<application
android:name=".MyApplication" //the classpath to MyApplication
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">https://stackoverflow.com/questions/39596102
复制相似问题