我在启用 android.useAndroidX 时收到 "AndroidX dependencies" 错误
I'm getting the "AndroidX dependencies" error with android.useAndroidX enabled
我在尝试构建我的 android 应用程序时遇到以下错误:
Task :app:mergeDebugResources FAILED
失败:构建失败,出现异常。
- 出了什么问题:
任务“:app:mergeDebugResources”执行失败。
This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry.
The following AndroidX dependencies are detected: androidx.versionedparcelable:versionedparcelable:1.0.0, androidx.slidingpanelayout:slidingpanelayout:1.0.0, androidx.fragment:fragment:1.0.0, androidx.core:core:1.0.0, androidx.customview:customview:1.0.0, androidx.swiperefreshlayout:swiperefreshlayout:1.0.0, androidx.interpolator:interpolator:1.0.0, androidx.loader:loader:1.0.0, androidx.drawerlayout:drawerlayout:1.0.0, androidx.viewpager:viewpager:1.0.0, androidx.collection:collection:1.0.0, androidx.localbroadcastmanager:localbroadcastmanager:1.0.0, androidx.lifecycle:lifecycle-common:2.0.0, androidx.arch.core:core-common:2.0.0, androidx.annotation:annotation:1.0.0, androidx.lifecycle:lifecycle-livedata:2.0.0, androidx.legacy:legacy-support-core-ui:1.0.0, androidx.lifecycle:lifecycle-viewmodel:2.0.0, androidx.lifecycle:lifecycle-livedata-core:2.0.0, androidx.legacy:legacy-support-v4:1.0.0, androidx.media:media:1.0.0, androidx.arch.core:core-runtime:2.0.0, androidx.legacy:legacy-support-core-utils:1.0.0, androidx.documentfile:documentfile:1.0.0, androidx.cursoradapter:cursoradapter:1.0.0, androidx.lifecycle:lifecycle-runtime:2.0.0, androidx.coordinatorlayout:coordinatorlayout:1.0.0, androidx.asynclayoutinflater:asynclayoutinflater:1.0.0, androidx.print:print:1.0.0
我修改了项目的 gradle.properties 文件并将“android.userAndroidX”设置为 true。但每次我尝试再次构建时,它都会自动返回 false。
gradle.properties 是否有可能在构建期间被任何其他任务覆盖?
谢谢!
添加到gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
在 Android Studio 中点击:文件 -> 使缓存无效/重启 -> 无效并重启
推测您正在使用 cordova-android@8
(键入 cordova platform ls
以查找项目中的平台版本)。
所以你有两个选择:
更新为 cordova-android@9
隐式支持 AndroidX:
cordova platform rm android && cordova platform add android@9
在您的 config.xml 中添加以下行:
<preference name="AndroidXEnabled" value="true" />
此处有更多详细信息:cordova documentation
将 cordova-plugin-androidx 添加到您的 Cordova 项目,它会持续为 cordova-android@8
:
设置本机 AndroidX 标志
cordova plugin add cordova-plugin-androidx
如果在添加其中一个后您的项目仍然无法构建,可能是因为它包含 Cordova 插件,其原生 Android 代码引用遗留 Android 支持库(AndroidX 是继任者)。
要解决此问题,您可以将 cordova-plugin-androidx-adapter 添加到您的项目,这将动态修补这些插件的源代码以将它们迁移到 AndroidX:
cordova plugin add cordova-plugin-androidx-adapter
如果您使用的是最新的 cordova,您可以尝试 cordova prepare android
它会修补您的源文件并更新 gradle.properties
首先打开您的项目gradle脚本>>然后打开gradle.properties最后粘贴这两行代码
android.useAndroidX=true
android.enableJetifier=true
cordova plugin add cordova-plugin-androidx
cordova plugin add cordova-plugin-androidx-adapter
我被困了 2 天才得到这个
你只需要安装这两个插件就可以了
添加插件以在项目中启用AndroidX
cordova plugin add cordova-plugin-androidx
添加插件以修补使用 Android 支持库以使用 AndroidX
的现有插件源
cordova plugin add cordova-plugin-androidx-adapter
在您的 config.xml 中添加以下行:
<preference name="AndroidXEnabled" value="true" />
这里有更多详细信息:
cordova documentation
对我有用的是将 Cordova Social Sharing 插件降级到 5.6.8
cordova plugin add cordova-plugin-x-socialsharing@5.6.8
(在此之前删除此插件的先前版本,然后删除所有平台,然后重新安装所有平台)
我今天已经将 Android 平台以及我使用的插件更新到 9.1.0。然而,我的项目编译开始输出 Task :app:mergeDebugResources FAILED
错误和 This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled.
。我一直在寻找几个原因,并尝试了在 SO 上提出的不同解决方案,但最准确的想法是由 @Guy Sela 给出的,他建议插件可以使用新的 AndroidX 依赖项,这就是原因。因此,在您尝试在 Cordova 配置中使用 AndroidXEnabled
属性 或 AndroidX 的插件适配器之前(Cordova 在 9.1.0 [=15 时均不推荐) =] 平台)查找您最近更新的插件。
我在尝试构建我的 android 应用程序时遇到以下错误:
Task :app:mergeDebugResources FAILED
失败:构建失败,出现异常。
- 出了什么问题: 任务“:app:mergeDebugResources”执行失败。
This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry. The following AndroidX dependencies are detected: androidx.versionedparcelable:versionedparcelable:1.0.0, androidx.slidingpanelayout:slidingpanelayout:1.0.0, androidx.fragment:fragment:1.0.0, androidx.core:core:1.0.0, androidx.customview:customview:1.0.0, androidx.swiperefreshlayout:swiperefreshlayout:1.0.0, androidx.interpolator:interpolator:1.0.0, androidx.loader:loader:1.0.0, androidx.drawerlayout:drawerlayout:1.0.0, androidx.viewpager:viewpager:1.0.0, androidx.collection:collection:1.0.0, androidx.localbroadcastmanager:localbroadcastmanager:1.0.0, androidx.lifecycle:lifecycle-common:2.0.0, androidx.arch.core:core-common:2.0.0, androidx.annotation:annotation:1.0.0, androidx.lifecycle:lifecycle-livedata:2.0.0, androidx.legacy:legacy-support-core-ui:1.0.0, androidx.lifecycle:lifecycle-viewmodel:2.0.0, androidx.lifecycle:lifecycle-livedata-core:2.0.0, androidx.legacy:legacy-support-v4:1.0.0, androidx.media:media:1.0.0, androidx.arch.core:core-runtime:2.0.0, androidx.legacy:legacy-support-core-utils:1.0.0, androidx.documentfile:documentfile:1.0.0, androidx.cursoradapter:cursoradapter:1.0.0, androidx.lifecycle:lifecycle-runtime:2.0.0, androidx.coordinatorlayout:coordinatorlayout:1.0.0, androidx.asynclayoutinflater:asynclayoutinflater:1.0.0, androidx.print:print:1.0.0
我修改了项目的 gradle.properties 文件并将“android.userAndroidX”设置为 true。但每次我尝试再次构建时,它都会自动返回 false。 gradle.properties 是否有可能在构建期间被任何其他任务覆盖?
谢谢!
添加到gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
在 Android Studio 中点击:文件 -> 使缓存无效/重启 -> 无效并重启
推测您正在使用 cordova-android@8
(键入 cordova platform ls
以查找项目中的平台版本)。
所以你有两个选择:
更新为
cordova-android@9
隐式支持 AndroidX:cordova platform rm android && cordova platform add android@9
在您的 config.xml 中添加以下行:
<preference name="AndroidXEnabled" value="true" />
此处有更多详细信息:cordova documentation
将 cordova-plugin-androidx 添加到您的 Cordova 项目,它会持续为
设置本机 AndroidX 标志cordova-android@8
:cordova plugin add cordova-plugin-androidx
如果在添加其中一个后您的项目仍然无法构建,可能是因为它包含 Cordova 插件,其原生 Android 代码引用遗留 Android 支持库(AndroidX 是继任者)。 要解决此问题,您可以将 cordova-plugin-androidx-adapter 添加到您的项目,这将动态修补这些插件的源代码以将它们迁移到 AndroidX:
cordova plugin add cordova-plugin-androidx-adapter
如果您使用的是最新的 cordova,您可以尝试 cordova prepare android
它会修补您的源文件并更新 gradle.properties
首先打开您的项目gradle脚本>>然后打开gradle.properties最后粘贴这两行代码
android.useAndroidX=true
android.enableJetifier=true
cordova plugin add cordova-plugin-androidx
cordova plugin add cordova-plugin-androidx-adapter
我被困了 2 天才得到这个 你只需要安装这两个插件就可以了
添加插件以在项目中启用AndroidX
cordova plugin add cordova-plugin-androidx
添加插件以修补使用 Android 支持库以使用 AndroidX
的现有插件源cordova plugin add cordova-plugin-androidx-adapter
在您的 config.xml 中添加以下行:
<preference name="AndroidXEnabled" value="true" />
这里有更多详细信息: cordova documentation
对我有用的是将 Cordova Social Sharing 插件降级到 5.6.8
cordova plugin add cordova-plugin-x-socialsharing@5.6.8
(在此之前删除此插件的先前版本,然后删除所有平台,然后重新安装所有平台)
我今天已经将 Android 平台以及我使用的插件更新到 9.1.0。然而,我的项目编译开始输出 Task :app:mergeDebugResources FAILED
错误和 This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled.
。我一直在寻找几个原因,并尝试了在 SO 上提出的不同解决方案,但最准确的想法是由 @Guy Sela 给出的,他建议插件可以使用新的 AndroidX 依赖项,这就是原因。因此,在您尝试在 Cordova 配置中使用 AndroidXEnabled
属性 或 AndroidX 的插件适配器之前(Cordova 在 9.1.0 [=15 时均不推荐) =] 平台)查找您最近更新的插件。