【发布时间】:2017-04-14 22:07:57
【问题描述】:
我有一个 android 项目,其中添加了许多库项目作为模块。
并且项目中的方法数超过了android的限制(65k)。我使用 multidex 作为解决方案。它没有解决我的问题。
这是我的 build.gradle 文件。
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
aaptOptions {
cruncherEnabled = false
}
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
multiDexEnabled = true
}}
首先,我尝试将 MultiDex.install() 添加到 ApplicationContext 文件的 onCreate 方法中。它没有用。 ApplicationContextNormal.java 文件在这里;
public class ApplicationContextNormal extends ApplicationContext {
@Override
public void onCreate() {
MultiDex.install(this);
super.onCreate();
}
}
然后,我尝试将 MultiDex.install() 添加到 attachBaseContext 方法中。
public class ApplicationContextNormal extends ApplicationContext {
...
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
...
这是我的 AndroidManifest.xml;
<application
android:name="com.alyt.lytmobilenormal.connection.ApplicationContextNormal"
...
是不是我应该用Dex优化的方式来解决这个问题?我在主项目中进行了更改,而不是在我的模块项目中。还是我错过了什么?
有什么想法吗?
【问题讨论】:
-
你应该在这里发布你的依赖。您应该尝试将您的应用保持在单个 dex 之下。
标签: android gradle android-multidex