android - 如何在Android中排除Androidx或强制不使用Androidx依赖
问题描述
我正在开发一个使用一些旧库的项目。它工作正常,除了谷歌地方自动完成,因为它被贬低了。当我试图集成新的谷歌地方库时,implementation 'com.google.android.libraries.places:places:2.2.0'
一些依赖项开始使用androidx
,这会产生如下问题,aapt errors and others
如下是新地方库实施后产生的依赖 项。我androidx
想用新的地方自动完成 api 保留旧的东西。如何我可以排除它们还是强制不使用androidx
+--- androidx.fragment:fragment:1.0.0@aar
+--- androidx.recyclerview:recyclerview:1.0.0@aar
+--- androidx.legacy:legacy-support-core-ui:1.0.0@aar
+--- androidx.legacy:legacy-support-core-utils:1.0.0@aar
+--- androidx.loader:loader:1.0.0@aar
+--- androidx.viewpager:viewpager:1.0.0@aar
+--- androidx.coordinatorlayout:coordinatorlayout:1.0.0@aar
+--- androidx.drawerlayout:drawerlayout:1.0.0@aar
+--- androidx.slidingpanelayout:slidingpanelayout:1.0.0@aar
+--- androidx.customview:customview:1.0.0@aar
+--- androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar
+--- androidx.asynclayoutinflater:asynclayoutinflater:1.0.0@aar
+--- androidx.core:core:1.0.0@aar
+--- androidx.cardview:cardview:1.0.0@aar
+--- androidx.lifecycle:lifecycle-viewmodel:2.0.0@aar
+--- androidx.versionedparcelable:versionedparcelable:1.0.0@aar
+--- androidx.collection:collection:1.0.0@jar
+--- androidx.lifecycle:lifecycle-runtime:2.0.0@aar
+--- androidx.interpolator:interpolator:1.0.0@aar
+--- androidx.cursoradapter:cursoradapter:1.0.0@aar
+--- androidx.documentfile:documentfile:1.0.0@aar
+--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar
+--- androidx.print:print:1.0.0@aar
+--- androidx.lifecycle:lifecycle-livedata:2.0.0@aar
+--- androidx.lifecycle:lifecycle-livedata-core:2.0.0@aar
+--- androidx.lifecycle:lifecycle-common:2.0.0@jar
+--- androidx.arch.core:core-runtime:2.0.0@aar
+--- androidx.arch.core:core-common:2.0.0@jar
+--- androidx.annotation:annotation:1.0.0@jar
+--- androidx.appcompat:appcompat:1.0.0@aar
+--- androidx.cardview:cardview:1.0.0@aar
+--- androidx.fragment:fragment:1.0.0@aar
+--- androidx.recyclerview:recyclerview:1.0.0@aar
我在我的 app.gradle 中尝试过
implementation ('com.google.android.libraries.places:places:2.0.0'){
exclude group: 'androidx.core', module: 'core'
}
这里面的android选项
packagingOptions {
exclude 'META-INF/androidx.*'
exclude 'META-INF/proguard/androidx-*'
}
还尝试在我的项目级别 build.gradle 中强制使用特定版本
configurations {
all {
resolutionStrategy {
force 'com.google.android.gms:play-services-location:11.8.0'
force 'com.google.android.gms:play-services-maps:11.8.0'
force 'com.google.android.gms:play-services-clearcut:11.8.0'
force 'com.google.android.gms:play-services-phenotype:11.8.0'
force 'com.google.android.gms:play-services-base:11.8.0'
forece 'com.google.android.gms:play-services-places-placereport:11.8.0'
force 'com.google.android.gms:play-services-tasks:11.8.0'
force 'com.google.android.gms:play-services-basement:11.8.0'
}
}
}
在我的 gradle.properties 下面
android.useAndroidX=false
android.enableJetifier=false
但没有任何工作。我该怎么做请帮忙
解决方案
此时您最好启用 androidx。API 29 是截至本回复日期的 Play 商店所需的最低目标 SDK,API 29 是 android-support -> androidx 截止开始的起点。
推荐阅读
- python - 使用熊猫的合并错误
- javascript - 将 npm 包导入 Express.js 应用程序中的公共文件夹
- colors - 重新编译 ls 命令以获取以 README_* 开头的文件的所需颜色,即用字符串扩展
- spring - 在 Spring Boot 中将唯一键映射到外键
- r - 使用带有字符列表的数据框列作为 for 循环中函数的变量名称,将结果放入变量中
- ruby-on-rails - RubyMine 在尝试运行项目时显示错误,它说找不到 rails
- java - mvn原型:使用内部maven repo生成
- python - 如何在 matplotlib/seaborn 中使用饼图填充 ndarray 图形?
- php - 表单提交后如何保留值
- regex - 使用 bash_rematch 的 Bash 正则表达式未按预期捕获