【发布时间】:2015-09-24 05:29:27
【问题描述】:
我想在一个 apk 中使用更多 classes.dex 文件构建我的应用程序。所以我按照谷歌帮助页面的说明进行操作。安卓 5.0 没问题,但我不能为安卓 5.0 之前的手机构建。它总是报告:com.android.dex.DexException: Too many classes in --main-dex-list, main dex容量超出。我不知道热建设。我的构建等级:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
//buildToolsVersion "20"
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.android.ccbtest.first"
minSdkVersion 21
targetSdkVersion 21
multiDexEnabled true
}
dexOptions {
preDexLibraries = false
}
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = []
}
dx.additionalParameters += '--multi-dex' // enable multidex
// optional
// dx.additionalParameters += "--main-dex list=$projectDir/<filename>".toString() // enable the main-dex-list
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile files('libs/ccbtest.jar')
compile files('libs/ccbtest1.jar')
compile files('libs/ccbtest2.jar')
compile files('libs/ccbtest3.jar')
compile files('libs/ccbtest4.jar')
compile files('libs/ccbtest5.jar')
compile files('libs/ccbtest6.jar')
// Multi-dex Lib
compile 'com.android.support:multidex:1.0.0'
}
如果我将 minSdkVersion 21 从 21 修改为 20。它将失败。
我想在 android 5.0 之前的手机中使用。请帮我解决这个问题。
谢谢。
br
重量
。
【问题讨论】:
-
只要确保您遵循here 列出的所有步骤即可。特别要注意,您还需要将清单指向
MultiDexApplication或在现有的应用扩展中调用MultiDex.install(...)。 -
嗨,HM,谢谢。但我真的不知道从 minSdkVersion 21 修改为 minSdkVersion 20 后构建会失败的原因。
-
基本上这样做的原因是不能支持dalvik。这会导致所有 Multidex 问题
标签: android gradle android-multidex