问题标签 [android-guava]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Guava 库重复输入错误
我正在尝试在我的应用程序中使用番石榴库。但我也在使用来自 github 的chromium_webview项目。这个 webview 项目包含番石榴库。
我收到以下错误:
错误:任务“:app:packageAllDebugClassesForMultiDex”执行失败。java.util.zip.ZipException:重复条目:com/google/common/annotations/GwtIncompatible.class
这是我的模块build.gradle
:
我已经在chromium_webview
项目中尝试了 exclude 方法,如下所示:
像这样:
我不能再次使用同一个库吗?
有没有办法为两个模块使用相同的库?
// ======================== 编辑:
就像提到的@petey 的评论一样,我尝试从我的模块中只删除番石榴库,而我的模块没有读取另一个模块中的库。
那是我尝试删除的行。
任何想法将不胜感激。
谢谢!!
java - 仅当谓词输入不是使用 Guava 的空字符串时过滤对象
我现在正在学习番石榴,但遇到了问题。我有三个可能的字符串过滤器。问题是我只想在字符串不是""
(空字符串)时过滤对象集合。我的另一个问题是如何从对象中过滤不同的成员,例如object.getName() == firstStringFilter
. 如果有人知道如何做到这一点,我将不胜感激。
解决方案
这就是我最终对我的代码所做的。如果我的 firstString 过滤器不为空,则应用该过滤器,与其他两个字符串过滤器相同。我正在使用相同的列表并用过滤器的结果覆盖它。
android - 在 Firebase 版本 11.0.0 和 guava 中构建冲突(重复的 zip 条目 [classes.jar:com/google/common/base/FinalizableReference.class])
我已将我的项目升级到最新版本的 Google Play 服务,包括 Firebase(版本 11.0.0),由于 Guava 和 Firebase 的 com/google/common/base/ 类版本之间存在冲突,我无法再构建该项目FinalizableReference.class
在以前的版本 Firebase 它不包含 com/google/common/base/FinalizableReference.class
我有以下构建等级:
proguard-android-optimize.txt 文件是
java - 爪哇 | 从行键获取列键
我有表 Table<String, String, String> distributions = HashBasedTable.create();
我的Column
价值观都是独一无二的,但我的Row
价值观可以重复。
那么我怎样才能得到所有Column
给定密钥的Row
密钥?
java - 如何使用列表项中的属性查找数组列表项的索引?
//使用Offer Id找出特定事件索引的最佳方法是什么?
使用核心 java 还是使用第三方库(如 Guava/Commons Collection)?
此对象用于映射服务器 JSON 响应,
java - 如何使用 Guava 过滤具有多个值的地图数组
我有一个包含地图的数组。而且我想使用地图对象内的一些(多个)键和值来过滤我的数组。例如,WHERE ID > 1 AND Name <> "cc" (key > 1, Name<>"cc")。
我怎么能在Java中做到这一点?我已经导入了具有 Collections2 的 Guava 库来过滤数组。但是,我没有找到任何在数组中过滤 Map 对象的示例。
这是我的一些示例代码:
我想用一种过滤,ID >= 1 AND NAME<>"cc"
这将产生包含 Map 对象的数组,如下所示:[{ID=1,Name="aa"}, {ID=2,Name="bb"}]
任何人都可以帮忙吗?
android - 如何解决已经存在的程序类型:com.google.common.util.concurrent.ListenableFuture?
由于以下错误,我当前的 Android 项目现在将无法构建
我正在使用 Android Studio 版本
以下链接没有帮助
我为触发此错误所做的更改如下:-
将我的 tarke sdk 版本等从 27 增加到 28
将我的 kotlin 版本增加到ext.kotlin_version = '1.2.61'
并切换到 gradle 3.2.0
如何修复我的 gradle 构建?
更新
跑过./gradlew app:dependencies
我发现了这个
因此我补充说
到我的 gradle 构建
这导致
因此我添加了
现在我的构建完成了
增加安卓版本真的要这么难吗?
java - 使用 Kotlin 构建的 Guava 依赖打破 Jar
问题
Java/Kotlin 应用程序在 IntelliJ IDE 的主类中按预期运行。但是,当应用程序内置到.Jar文件中时,会发生以下错误:java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors
.
这是重构目录、模块、根项目和/或组名的问题。
重现错误
我已将项目移动到新的目录路径,一切都按预期运行。但是,在我尝试修改目录和/或模块名称并重构settings.gradle和build.gradle 之后,rootProject.name
在运行新的.jar构建时出现上述错误。group
完整的错误信息
执行
构建.gradle
Gradle 依赖树
尝试的解决方案
- 在检查 StackOverflow 上的类似问题后,这似乎与与 Google 的 Guava 库的冲突有关。从上面的 Gradle 依赖项中,一些库调用了旧版本的 Guava。build.gradle中的所有库都已更新到最新版本。
- 重建项目。
- IntelliJ 使缓存无效并重新启动
- 在build.gradle中实现当前版本的 Guava :
api "com.google.guava:guava:27.0-jre"
- 在依赖树中找到的build.gradle中实现最低版本的 Guava :
implementation 'com.google.guava:guava:19.0'
- 在依赖树中找到的build.gradle中实现 Guava 的最高版本:
implementation 'com.google.guava:guava:20.0'
- 尝试在依赖树中找到的build.gradle中排除最低版本的 Guava:
configurations {all*.exclude 'com.google.guava:guava:19.0'}