我正在创建一个新的android项目,并决定对支持库使用新的AndroidX替代版本,有关支持文档,请参见:https://developer.android.com/jetpack/androidx/migrate。
我按照字母的步骤进行操作,并且在同步gradle之后,我可以访问androidx
名称空间和其中包含的各种类。但是,在创建应用程序类时,我想从androidx.multidex.MultiDexApplication
继承(可以在上面的链接的表中看到)。但是,整个multidex
包不存在。
有人解决了这个问题吗?有指针吗?
答案 0 :(得分:6)
CN=some AG
没什么意义,却可以替换。
您可以简单地将其添加为依赖项,而无需对名称空间进行不透明的处理:
android.enableJetifier=true
答案 1 :(得分:1)
如果您使用的是androidx,则应将MultiDexApplication(来自androidx的引用)添加到清单文件中。
<application
android:name="androidx.multidex.MultiDexApplication"
.....></application>
答案 2 :(得分:0)
好,知道了!
Multidex库从来不是android支持库的一部分,它是必须在gradle中导入的其他库。因此,我现在将其导入到模块gradle文件的依赖关系块中,并在gradle.properties文件中设置以下内容:
# Jetifier automatically updates dependancy binaries
# To swap out support lib for androix
android.enableJetifier=true
现在,在编译时,multidex依赖项换成了androidx实现。
答案 3 :(得分:0)
除了Martin Zeitler的回答,我还必须添加gradle构建文件:
defaultConfig {
...
multiDexEnabled true // Add this line
...
}
以及依赖性
implementation "androidx.multidex:multidex:2.0.0"
关于发生这种情况的原因,Android Developers上的this userguide对此进行了很好的解释。
答案 4 :(得分:0)
build.gradle app module
android {
compileSdkVersion 22
buildToolsVersion "23.0.0"
defaultConfig {
minSdkVersion 14 //lower than 14 doesn't support multidex
targetSdkVersion 22
// Enabling multidex support.
multiDexEnabled true
}
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}