您的位置:首页 > 移动开发 > Android开发

文章标题

2016-10-20 14:59 218 查看

在项目遇到了 64k 问题。编译时不能通过,

项目中引用的第三方较多,然后在编译,或者编译成功但是刚开始运行,就会闪退,会发现有问题是某个类或类的方法没有找到。

解决办法:在 build.gradle 添加了

defaultConfig {

multiDexEnabled true

}

dependencies {
compile 'com.android.support:multidex:1.0.0'
}

如果项目有混淆的可以加上混淆

这样的话能够编译通过。但是会发现启动后会找不到有的方法,然后就会崩溃。在BaseApplication 中实现如下,就可以了

@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
//for multiDex  64k
MultiDex.install(this);
}


Execution failed for task ‘:excelSior:packageAllDebugClassesForMultiDex’.

java.util.zip.ZipException: duplicate entry: android/support/annotations/colorRes

在build.gradle 文件中添加

configurations {
all*.exclude group: 'com.android.support', module: 'support-annotations'
}


Error:Execution failed for task ‘:app:transformClassesWithJarMergingForDebug’.com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/internal/view/SupportSubMenu.class

configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}


如果遇到类似的问题,
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry:
然后就可以使用

all*.exclude group: 'com.android.support', module: 相应的引用包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 64k