如何补救由番石榴引起的错误:程序类型已存在:com.google.common.util.concurrent.internal.InternalFutures
How to remedy error caused by guava: Program type already present: com.google.common.util.concurrent.internal.InternalFutures
AAR 库已经使用 com.google.guava。
如果某个应用在其 build.gradle 中包含以下内容:
api 'com.google.guava:guava:27.0-android'
构建应用程序生成以下错误:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: ...
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.google.common.util.concurrent.internal.InternalFutures
如果我不包含 "api 'com.google.guava:guava:27.0-android'",应用程序可以构建,但在使用 Guava 方法时出现运行时错误 java.lang.NoClassDefFoundError:Iterables.find
Since Guava 27.0, ListenableFuture
is located in separate artifact, see the announcement。您可以尝试两种方法(一次一种):
- 排除
"listenablefuture"
模块(组 "com.google.guava"
)并重新构建您的项目。
- 我不知道 AAR 的具体细节,但可能是
27.0-android
不适用于 AAR,所以您应该试试 26.0-android
。
我不得不更新到版本 27.0.1,在撰写本文时他们还没有用这个新版本更新自述文件。
implementation 'com.google.guava:guava:27.0.1-android'
AAR 库已经使用 com.google.guava。
如果某个应用在其 build.gradle 中包含以下内容:
api 'com.google.guava:guava:27.0-android'
构建应用程序生成以下错误:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: ...
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.google.common.util.concurrent.internal.InternalFutures
如果我不包含 "api 'com.google.guava:guava:27.0-android'",应用程序可以构建,但在使用 Guava 方法时出现运行时错误 java.lang.NoClassDefFoundError:Iterables.find
Since Guava 27.0, ListenableFuture
is located in separate artifact, see the announcement。您可以尝试两种方法(一次一种):
- 排除
"listenablefuture"
模块(组"com.google.guava"
)并重新构建您的项目。 - 我不知道 AAR 的具体细节,但可能是
27.0-android
不适用于 AAR,所以您应该试试26.0-android
。
我不得不更新到版本 27.0.1,在撰写本文时他们还没有用这个新版本更新自述文件。
implementation 'com.google.guava:guava:27.0.1-android'