项目发版突然引入zh直播与观看得SDK和相关Jar,xian项目可以运行了,但是不能打包。
Error:Execution failed for task ':task:transformClassesWithDexForDebug'.
com.android.build.api.transform.TransformException:
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:
Process 'command 'C:\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 2
然后开始度娘搜索:
1、项目内方法数超过限制需要以下操作
android{
defaultConfig {
multiDexEnabled true
}
}
dependencies {
compile 'com.android.support:MultiDex:1.0.1'
}
继承 Application ,重写 attachBaseContext(Context)
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
但是,我的项目中早已使用过 MultiDex, 所以Pass 过。继续度娘:
我想其他SDK 和xian相关包出现得问题,肯定是包 重复或者冲突,就一下操作
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group =='com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion'28.0.0' //这里改为你项目使用的版本即可
}
}
}
}
结果,继续报异常:Cause: method ID not in [0, 0xffff]: 65536
很明显了,方法数超限,我原来得MultiDex 没生效嘛? '继续度娘-》
https://www.jianshu.com/p/15dd2d432b9c 在篇文章中最终得以解决。
我的最低版本19,调整到21继续打包,正常了
android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 25
multiDexEnabled true
}
...
}
https://www.jianshu.com/p/15dd2d432b 中提到得 MultiDex 我都正常使用了,最终还是靠 改minSdkVersion解决,目前还不知道原因