找不到AndroidX MultiDex

时间:2018-11-16 11:09:22

标签: android multidex androidx

我正在创建一个新的android项目,并决定对支持库使用新的AndroidX替代版本,有关支持文档,请参见:https://developer.android.com/jetpack/androidx/migrate

我按照字母的步骤进行操作,并且在同步gradle之后,我可以访问androidx名称空间和其中包含的各种类。但是,在创建应用程序类时,我想从androidx.multidex.MultiDexApplication继承(可以在上面的链接的表中看到)。但是,整个multidex包不存在。

有人解决了这个问题吗?有指针吗?

5 个答案:

答案 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'
}