首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓库中的安卓NoClassDefFound

安卓库中的安卓NoClassDefFound
EN

Stack Overflow用户
提问于 2016-09-20 21:56:59
回答 1查看 103关注 0票数 2

我有一个Android库,我在两个不同的项目中使用它。在其中一种情况下,我可以正确地使用库。然而,在第二个项目中,我遇到了NoClassDefFound异常。

08-31 07:

代码语言:javascript
复制
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中看到找不到的类。

EN

回答 1

Stack Overflow用户

发布于 2016-09-20 22:17:58

您的项目和库依赖项可能已达到64K方法引用限制,这会导致创建多个dex文件。要确保multidex是问题的根源,请尝试:

1-将multidex dependency添加到项目的build.gradle中:

代码语言:javascript
复制
    compile 'com.android.support:multidex:1.0.0'

2-将multiDexEnabled true添加到您的build.gradle文件:

代码语言:javascript
复制
defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 14
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

3-为你的项目创建一个扩展MultidexApplication的应用程序类:

代码语言:javascript
复制
public class MyApplication extends MultiDexApplication

4-更改AndroidManifest.xml以使用MyApplication类作为应用程序的入口点:

代码语言:javascript
复制
    <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">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39596102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档