【问题标题】:Android build error when implementing google places sdk实现 google places sdk 时的 Android 构建错误
【发布时间】:2019-05-15 08:04:48
【问题描述】:

大家好,我正在开发简单的送餐 Android 应用程序,因此它需要集成谷歌地图和我遵循的自动建议以查找当前位置

[google sample code](https://github.com/googlemaps/android-samples/blob/master/tutorials/CurrentPlaceDetailsOnMap/app/src/main/java/com/example/currentplacedetailsonmap/MapsActivityCurrentPlace.java)

对于我遵循的自动建议

https://developers.google.com/places/android-sdk/autocomplete

当构建它时,gradle 显示重复的类错误

Duplicate class com.google.android.libraries.places.api.internal.impl.net.pablo.AutocompletePredictionResult found in modules classes.jar (com.google.android.libraries.places:places-compat:1.1.0) and classes.jar (com.google.android.libraries.places:places:1.1.0) Duplicate class com.google.android.libraries.places.api.internal.impl.net.pablo.AutocompletePredictionResult$StructuredFormatting found in modules classes.jar (com.google.android.libraries.places:places-compat:1.1.0) and classes.jar (com.google.android.libraries.places:places:1.1.0) Duplicate class com.google.android.libraries.places.api.internal.impl.net.pablo.AutocompletePredictionResult$Substring found in modules classes.jar (com.google.android.libraries.places:places-compat:1.1.0) and classes.jar (com.google.android.libraries.places:places:1.1.0) Duplicate class com.google.android.libraries.places.api.internal.impl.net.pablo.FetchPlacePabloResponse found in modules classes.jar (com.google.android.libraries.places:places-compat:1.1.0) and classes.jar (com.google.android.libraries.places:places:1.1.0) Duplicate class com.google.android.libraries.places.internal.bc found in modules classes.jar (com.google.android.libraries.places:places-compat:1.1.0) and classes.jar (com.google.android.libraries.places:places:1.1.0) Duplicate class com.google.android.libraries.places.internal.bd found in modules classes.jar (com.google.android.libraries.places:places-compat:1.1.0) and classes.jar (com.google.android.libraries.places:places:1.1.0) Duplicate class com.google.android.libraries.places.internal.be found in modules classes.jar (com.google.android.libraries.places:places-compat:1.1.0) and classes.jar (com.google.android.libraries.places:places:1.1.0)

这是我的毕业典礼

implementation 'com.google.android.libraries.places:places-compat:1.1.0'
implementation 'com.google.android.libraries.places:places:1.1.0'

我尝试通过以下方式排除重复的类

implementation 'com.google.android.libraries.places:places-compat:1.1.0'
implementation ('com.google.android.libraries.places:places:1.1.0'){
 exclude group:'com.google.android.libraries.places.api.internal.impl.net.pablo'
 exclude group: 'com.google.android.libraries.places.internal'
    }

但没有什么能解决我的问题。

【问题讨论】:

  • 你为什么使用placescompat?
  • 使用implementation "com.google.android.gms:play-services-places:15.0.1
  • @Sajith 不。该库将于 2019 年 7 月 29 日弃用

标签: android google-maps gradle googleplacesautocomplete


【解决方案1】:

删除 implementation'com.google.android.libraries.places:places-compat:1.1.0'

并且只保留implementation 'com.google.android.libraries.places:places:1.1.0'

使用implementation 'com.google.android.libraries.places:places-compat:1.1.0'

仅当您使用已弃用的库时才需要

implementation 'com.google.android.gms:play-services-places:16.0.0'

请看heredocumentation

【讨论】:

  • 但我想查找用户当前位置,但这些类无法解析“PlaceDetectionClient”和 Places.getGeoDataClient(this, null);
  • -"getGeoDataClient",此方法已弃用。改用 getGeoDataClient(Context) 。 -“getPlaceDetectionClient”,此方法已弃用。改用 getPlaceDetectionClient(Context)
  • 如果您觉得有帮助,请点赞并选择答案,这样对其他开发者也会有用。
  • @JogiPrasadPakki 如果答案已经解决了您的问题,请单击复选标记考虑accepting it。这向更广泛的社区表明您找到了解决方案,并为回答者和您自己赢得了一些声誉。
猜你喜欢
  • 2018-11-23
  • 1970-01-01
  • 1970-01-01
  • 2017-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-06
相关资源
最近更新 更多