问题标签 [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 - 程序类型已存在:com.google.common.util.concurrent.internal.InternalFutureFailureAccess
我在编译我的项目时遇到了这个错误。我发现这是因为番石榴,以及我得到这个的原因是其他库也在使用番石榴(番石榴的这个组件)(可能是其他版本,或者只是重复)。我找不到是哪一个。我正在使用 Guava 进行哈希处理,同时在登录时保存我的密码。我知道有必要排除它,但我不知道究竟是什么以及如何。
guava - 如何纠正由番石榴引起的错误:程序类型已存在:com.google.common.util.concurrent.internal.InternalFutures
AAR 库已经使用 com.google.guava。
如果应用在其 build.gradle 中包含以下内容:
构建应用程序会生成以下错误:
如果我不包含“api 'com.google.guava:guava:27.0-android'”,则可以构建应用程序,但是当它到达使用 Guava 方法的点时会出现 java.lang.NoClassDefFoundError 的运行时错误:可迭代的.find
android - NoSuchMethodError:没有静态方法捕获(Lcom/google/common/util/concurrent/ListenableFuture
我想使用 google-api-client 将照片上传到 Google-Photo。这是我的代码:
毕业文件:
初始化照片客户端:
上传文件:
uploadMediaItem
方法总是返回如下错误。有谁知道如何解决这一问题?请给我一个提示。
更新:添加将 photosLibraryClient 初始化为 @Ricardo 所需的函数。照片客户端可以正常工作,因为我可以毫无问题地创建相册
android - D8:找不到类型“sun.misc.Unsafe”
在我的 android 项目中启用 D8 后,我开始看到这些警告:
.
项目成功构建,但在运行时,我看到这些错误日志,因此,应用程序功能受到影响。
经过一段时间的搜索,我无法找到任何有用的东西。请帮忙。
是的,如果 D8 被禁用并且其他一切保持不变,我在运行时不会遇到此错误。
unit-testing - java.lang.NoSuchMethodError: com.google.common.base.CharMatcher.whitespace()
我正在用 Robolectric 编写 android 单元测试。当我当前运行测试时,我不断收到上述错误。
我从这里查看并尝试了大量建议的解决方案,但没有一个解决了这个错误。
到目前为止,我已经查看了依赖树,我可以看到使用了两个版本的番石榴:
注意到这一点后,我尝试:
排除第一个依赖
/li>将番石榴版本升级到最新
/li>
这是错误的样子:
这是我目前的测试课:
我将不胜感激。谢谢。
android - Android 运行时 NoSuchMethodError
我最近开始在我的应用程序运行时的某些情况下收到此错误...
我已经尝试过以下方法:
- 添加 proguard 规则以包含
com.google.common
. - Mutlidex 规则,以便所有类都打包在主 dex 文件中
- 我检查了 apk 内容以确保 dex 文件中存在这些类...
- 将我的 guava android lib 升级到最新的 27.0.0-android
- 将 gradle 插件和 gradle 版本更新到最新
AndroidRuntime: java.lang.NoSuchMethodError: No static method checkArgument(ZLjava/lang/String;I)V in class Lcom/google/common/base/Preconditions; 或其超类(“com.google.common.base.Preconditions”的声明出现在 /data/app/com.myapp.dev.test-Xip2SNDMljPc2_BN0p3iRg==/base.apk!classes2.dex)03-26 13: 49:19.167 14658 14751 E AndroidRuntime: 在 com.google.common.util.concurrent.RateLimiter.checkPermits(RateLimiter.java:424) 03-26 13:49:19.167 14658 14751 E AndroidRuntime: 在 com.google.common.util .concurrent.RateLimiter.tryAcquire(RateLimiter.java:341) 03-26 13:49:19.167 14658 14751 E AndroidRuntime: at com.google.common.util.concurrent.RateLimiter.tryAcquire(RateLimiter.java:325)
现在不知道从这里去哪里。任何想法我还能做什么?
android - Could not resolve com.google.guava:listenablefuture:{strictly 1.0} when testing WorkManager
I have an app that uses WorkManager for some scheduled tasks, and I'm testing it with the aid of a bunch of different frameworks. It seems relevant to this issue that I'm using robolectric and of course androidx.work:work-testing .
I'm able to run unit tests successfully, but when I attempt to run instrumentation tests, Calculate task graph
fails with
Tried adding guava "com.google.guava:guava:27.0.1-android"
(against my will) as a testImplementation and an androidTestImplementation and got a Dependency path 'MyApp:mymodule:unspecified' --> 'com.google.guava:guava:27.0.1-jre' --> 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
instead of the line Dependency path 'MyApp:myModule:unspecified' --> 'org.robolectric:robolectric:4.2.1' --> 'org.robolectric:resources:4.2.1' --> 'com.google.guava:guava:27.0.1-jre' --> 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
Some dependencies in my module's build.gradle:
java - 如何使用来自两个不同模型的两种方法?
我的项目遇到了棘手的问题。很难解释。我有两个不同的模型,但是,我应该比较这两个模型。我应该为这两个模型制作一个新模型吗?
这里是Cart.java
。有Voyage.java
一个Model
. 这个类如果type_voyage
不是equals
相互区分的话。我有另一个名为Bus.java
. 我应该比较它是否与模型相等。
购物车.java
总线.java
Voyage.java
guava - 先决条件 checknotnull 注释产生空警告
以下行
在 android studio 中发出警告
警告:(291, 44) 参数 'data.get(name)' 可能为空
在查看 Preconditions 的源代码时:
}
看起来第一个参数不允许为空。
这是与之相关的 PR: https ://github.com/google/guava/commit/a890c444e55973384d1370b56afe1a02e7db9c3c
所以我想知道:
- Android Studio 中是否有一些我没有配置好的东西
- 这是番石榴中的错误吗?
显然,如果我进行空检查,我怀疑参数可以为空
android - androidTestImplementation Google Truth 1.0 和实现 Google Guava 27.0.1 无法满足的版本约束
简而言之
我无法使用以下添加的依赖项构建最小的新Android Studio项目:
如何重现
我就是这样做的,但当然还有其他方法。
- 在Android Studio 3.5.2中:
- 文件→新建→新建项目...
- 在创建新项目对话框中:
- 手机和平板电脑选项卡 →不添加活动→下一步
- 名称,包名,保存位置:随便你
- 语言:Java
- 最低 API 级别:API 28
- 该项目将支持即时应用程序:已禁用
- 结束
- 在./app/build.gradle:
- 添加
implementation 'com.google.guava:guava:27.0.1-android'
和androidTestImplementation "com.google.truth:truth:1.0"
到dependencies
- 添加
- 在ExampleInstrumentedTest.java 中
- 右键单击
class ExampleInstrumentedTest
并选择运行'ExampleInstrumentedTest'
- 右键单击
预期
测试通过
实际
构建错误:
如何解决此构建问题?