首页 > 解决方案 > 如何在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

但没有任何工作。我该怎么做请帮忙

标签: androidgoogleplacesautocompleteandroid-x86

解决方案


此时您最好启用 androidx。API 29 是截至本回复日期的 Play 商店所需的最低目标 SDK,API 29 是 android-support -> androidx 截止开始的起点。


推荐阅读