Android当方法总数超过64K时(Android Studio)
16lz
2021-01-23
1. 问题描述 Error:Thenumberofmethodreferencesina.dexfilecannotexceed64K. Error:Executionfailedfortask':app:transformClassesWithDexForRelease'. >com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:Process'command'C:\ProgramFiles\Java\jdk1.8.0_77\bin\java.exe''finishedwithnon-zeroexitvalue2‘’?
2. 解决方案
2. 解决方案
方案1:使用插件化框架 比如:https://github.com/singwhatiwanna/dynamic-load-apk
方案2:分割Dex
3.分割Dex的实现方法
/**
* 分割 Dex 支持
* @param base
*/
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
1、相关链接
https://developer.android.com/tools/building/multidex.html#about
2、在app的 build.gradle 中
(1)在dependencies 中添加
compile 'com.android.support:multidex:1.0.0'
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:multidex:1.0.0'
}
(2)在defaultConfig 中添加
multiDexEnabled true
defaultConfig {
applicationId "com.vieboo.test"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
// Enabling multidex support.
multiDexEnabled true
}
(3)在 AndroidManifest.xml 中的 application 标签中添加
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.vieboo.test"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application></manifest>
提示:如果你的应用程序继承 Application , 那么你需要重写并继承MultiDexApplication
/**
* 分割 Dex 支持
* @param base
*/
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
更多相关文章
- Android串口设备的应用实现方案以及与WEB的交互
- 安卓虚拟机启动后报错: 类似 SDK Manager] Error: Error parsing
- android获取设备唯一标识完美解决方案
- Android客户端打包方案分享
- App与Js交互(三)Android、iOS通用解决方案推荐
- Android大图片裁剪终极解决方案(下:拍照截图)
- android TextView ellipsize 只显示一个点 解决方案
- Android和JS通信方案
- Failed resolution of: Lcom/growingio/android/sdk/agent/VdsAg