gpt4 book ai didi

android - 获取 MultiDex 错误,即使在设置 Min SDK 21 之后

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:43 25 4
gpt4 key购买 nike

我正在处理的项目有大约 180k 方法。我读过博客和文章,其中写道,如果将 Min SDK 设置为 21,则不需要 MultiDex。但是,如果我从此处删除 MultiDex,它会给我 65k MultiDex 错误消息。以下是我的 gradle 文件。我不知道是我没能理解这个概念还是别的什么。请指导我。

compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {

applicationId 'com.myapp.app'
minSdkVersion 21
targetSdkVersion 23
versionCode 59
versionName "1.0.1"
multiDexEnabled true
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86"
}
}
dexOptions {
javaMaxHeapSize "4g" //specify the heap size for the dex process
}
lintOptions {
abortOnError false
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

productFlavors {
}

最佳答案

if you set your Min SDK to 21, then you don't need MultiDex

根据 MultiDex guide 中的“对 Android 5.0 及更高版本的 Multidex 支持”说明,即使你 minSdk 21 那么你仍然需要使用 multiDexEnabled true 进行编译。您不需要做的是通过以下方式包含 MultiDex 支持库:

compile 'com.android.support:multidex:1.0.0'

或在您的 Application 类中调用 MultiDex.install(Context)

64K 方法问题是 DEX 文件格式的限制,而不是 Android 平台本身的限制。这两个版本之间的区别在于 Android 5.0+ 知道如何自动将多个 DEX 文件加载到单个 OAT 文件中并从中加载类,而 Android 5.0 之前的版本需要支持库才能从辅助 DEX 文件加载类(例如classes2.dex、classes3.dex 等)。

关于android - 获取 MultiDex 错误,即使在设置 Min SDK 21 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40309249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com