未找到 AndroidX MultiDex
AndroidX MultiDex not found
我正在创建一个新的 android 项目,并决定使用新的 AndroidX 替代支持库,可以在此处找到相关文档:https://developer.android.com/jetpack/androidx/migrate.
我严格按照步骤操作,在同步 gradle 之后,我可以访问 androidx
命名空间和其中包含的各种 classes。但是,在创建我的应用程序时 class 我想继承自 androidx.multidex.MultiDexApplication
(可以在上面的 link 中的 table 中看到)。但是,整个 multidex
包并不存在。
有人解决过这个问题吗?有什么指点吗?
好的,明白了!
Multidex 库从来不是 android 支持库的一部分,它是必须在 gradle 中导入的附加库。所以,我现在将它导入到我的模块 gradle 文件的依赖项块中,并在我的 gradle.properties 文件中设置以下内容:
# Jetifier automatically updates dependancy binaries
# To swap out support lib for androix
android.enableJetifier=true
现在,在编译时,multidex 依赖项被替换为 androidx 实现。
android.enableJetifier=true
一点意义都没有,虽然可以代替.
您可以简单地将其添加为依赖项,而无需对名称空间进行不透明的处理:
implementation "androidx.multidex:multidex:2.0.1"
如果您使用的是 androidx,则应将 MultiDexApplication(reference from androidx)添加到您的清单文件中。
<application
android:name="androidx.multidex.MultiDexApplication"
.....></application>
除了 Martin Zeitler 的回答之外,我还必须在我的 gradle 构建文件中添加:
defaultConfig {
...
multiDexEnabled true // Add this line
...
}
以及依赖
implementation "androidx.multidex:multidex:2.0.0"
至于为什么会这样,this userguide 在 Android 上开发人员解释得很好。
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'
}
我正在创建一个新的 android 项目,并决定使用新的 AndroidX 替代支持库,可以在此处找到相关文档:https://developer.android.com/jetpack/androidx/migrate.
我严格按照步骤操作,在同步 gradle 之后,我可以访问 androidx
命名空间和其中包含的各种 classes。但是,在创建我的应用程序时 class 我想继承自 androidx.multidex.MultiDexApplication
(可以在上面的 link 中的 table 中看到)。但是,整个 multidex
包并不存在。
有人解决过这个问题吗?有什么指点吗?
好的,明白了!
Multidex 库从来不是 android 支持库的一部分,它是必须在 gradle 中导入的附加库。所以,我现在将它导入到我的模块 gradle 文件的依赖项块中,并在我的 gradle.properties 文件中设置以下内容:
# Jetifier automatically updates dependancy binaries
# To swap out support lib for androix
android.enableJetifier=true
现在,在编译时,multidex 依赖项被替换为 androidx 实现。
android.enableJetifier=true
一点意义都没有,虽然可以代替.
您可以简单地将其添加为依赖项,而无需对名称空间进行不透明的处理:
implementation "androidx.multidex:multidex:2.0.1"
如果您使用的是 androidx,则应将 MultiDexApplication(reference from androidx)添加到您的清单文件中。
<application
android:name="androidx.multidex.MultiDexApplication"
.....></application>
除了 Martin Zeitler 的回答之外,我还必须在我的 gradle 构建文件中添加:
defaultConfig {
...
multiDexEnabled true // Add this line
...
}
以及依赖
implementation "androidx.multidex:multidex:2.0.0"
至于为什么会这样,this userguide 在 Android 上开发人员解释得很好。
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'
}