gpt4 book ai didi

android - 运行 wear 模块时获取 "more than one library with package name ' com.google.android.gms'"

转载 作者:行者123 更新时间:2023-11-29 17:43:58 24 4
gpt4 key购买 nike

我正在向应用程序添加磨损模块。 (使用 this sample code 作为引用)

所以我有 3 个模块,每个模块都依赖于 com.google.android.gms:play-services 的一个版本:

  1. app - 编译 'com.google.android.gms:play-services:6.1.11'
  2. wear - 'com.google.android.gms:play-services-wearable:6.5.+'
  3. 共享 - 编译 'com.google.android.gms:play-services:6.1.11'

编译 Wear 模块时,我得到这个错误:

Error:Execution failed for task ':wear:processDebugResources'. Error: more than one library with package name 'com.google.android.gms' You can temporarily disable this error with android.enforceUniquePackageName=false However, this is temporary and will be enforced in 1.0

显然,如果我在 wear 模块的 build.gradle 中更改 play-services-wearable play-services,一切正常,但据我了解,play-services-wearable 是 play-services 的轻量级版本。

考虑到我的应用程序的结构,有没有办法在我的可穿戴模块中使用 play-services-wearable?

最佳答案

更多的问题是您在同一个应用程序(6.1 版和 6.5 版)中使用了多个不同版本的 Google Play 服务。您可以更新共享(和应用)模块以使用 compile 'com.google.android.gms:play-services:6.5.+ 然后您将只有一个版本的 Google Play 服务和避免您面临的问题。

在您的情况下,您只需要在共享模块中定义 Google Play 服务 - 假设您的应用程序和 wear 模块都依赖它,它们将自动继承所有依赖项,因此不需要重新声明它们(尽管它不需要无论如何,如果您愿意这样做,请不要伤害任何东西)。

注意:play-services-wearable 库是众多 split libraries 库之一在 Google Play Services 6.5 中可用 - 这些确实允许您在应用程序中只包含您需要的 Google Play 服务部分。在几乎所有情况下,您都应该考虑转向明确依赖于 Google Play 服务的某些部分,而不是完全使用 com.google.android.gms:play-services:通过包括整个 com.google.android.gms:play-services 即使您引入所有 Google Play 服务,即使稍后您声明或使用该库的单个部分也是如此。

关于android - 运行 wear 模块时获取 "more than one library with package name ' com.google.android.gms'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27665105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com