问题标签 [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.

0 投票
3 回答
2855 浏览

android - 程序类型已存在:com.google.common.util.concurrent.internal.InternalFutureFailureAccess

我在编译我的项目时遇到了这个错误。我发现这是因为番石榴,以及我得到这个的原因是其他库也在使用番石榴(番石榴的这个组件)(可能是其他版本,或者只是重复)。我找不到是哪一个。我正在使用 Guava 进行哈希处理,同时在登录时保存我的密码。我知道有必要排除它,但我不知道究竟是什么以及如何。

0 投票
2 回答
2927 浏览

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

0 投票
1 回答
956 浏览

android - NoSuchMethodError:没有静态方法捕获(Lcom/google/common/util/concurrent/ListenableFuture

我想使用 google-api-client 将照片上传到 Google-Photo。这是我的代码:

毕业文件:

初始化照片客户端:

上传文件:

uploadMediaItem方法总是返回如下错误。有谁知道如何解决这一问题?请给我一个提示。

更新:添加将 photosLibraryClient 初始化为 @Ricardo 所需的函数。照片客户端可以正常工作,因为我可以毫无问题地创建相册

0 投票
2 回答
2750 浏览

android - D8:找不到类型“sun.misc.Unsafe”

在我的 android 项目中启用 D8 后,我开始看到这些警告:

.

项目成功构建,但在运行时,我看到这些错误日志,因此,应用程序功能受到影响。

经过一段时间的搜索,我无法找到任何有用的东西。请帮忙。

是的,如果 D8 被禁用并且其他一切保持不变,我在运行时不会遇到此错误。

0 投票
1 回答
1539 浏览

unit-testing - java.lang.NoSuchMethodError: com.google.common.base.CharMatcher.whitespace()

我正在用 Robolectric 编写 android 单元测试。当我当前运行测试时,我不断收到上述错误。

我从这里查看并尝试了大量建议的解决方案,但没有一个解决了这个错误。

到目前为止,我已经查看了依赖树,我可以看到使用了两个版本的番石榴:

注意到这一点后,我尝试:

  1. 排除第一个依赖

    /li>
  2. 将番石榴版本升级到最新

    /li>

这是错误的样子:

这是我目前的测试课:

我将不胜感激。谢谢。

0 投票
1 回答
730 浏览

android - Android 运行时 NoSuchMethodError

我最近开始在我的应用程序运行时的某些情况下收到此错误...

我已经尝试过以下方法:

  1. 添加 proguard 规则以包含com.google.common.
  2. Mutlidex 规则,以便所有类都打包在主 dex 文件中
  3. 我检查了 apk 内容以确保 dex 文件中存在这些类...
  4. 将我的 guava android lib 升级到最新的 27.0.0-android
  5. 将 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)

现在不知道从这里去哪里。任何想法我还能做什么?

0 投票
1 回答
3577 浏览

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:

0 投票
1 回答
221 浏览

java - 如何使用来自两个不同模型的两种方法?

我的项目遇到了棘手的问题。很难解释。我有两个不同的模型,但是,我应该比较这两个模型。我应该为这两个模型制作一个新模型吗?

这里是Cart.java。有Voyage.java一个Model. 这个类如果type_voyage不是equals相互区分的话。我有另一个名为Bus.java. 我应该比较它是否与模型相等。

购物车.java

总线.java

Voyage.java

0 投票
1 回答
206 浏览

guava - 先决条件 checknotnull 注释产生空警告

以下行

在 android studio 中发出警告

警告:(291, 44) 参数 'data.get(name)' 可能为空

在查看 Preconditions 的源代码时:

}

看起来第一个参数不允许为空。

这是与之相关的 PR: https ://github.com/google/guava/commit/a890c444e55973384d1370b56afe1a02e7db9c3c

所以我想知道:

  • Android Studio 中是否有一些我没有配置好的东西
  • 这是番石榴中的错误吗?

显然,如果我进行空检查,我怀疑参数可以为空

0 投票
1 回答
584 浏览

android - androidTestImplementation Google Truth 1.0 和实现 Google Guava 27.0.1 无法满足的版本约束

简而言之

我无法使用以下添加的依赖项构建最小的新Android Studio项目:

如何重现

我就是这样做的,但当然还有其他方法。

  1. Android Studio 3.5.2中:
    1. 文件新建新建项目...
  2. 创建新项目对话框中:
    1. 手机和平板电脑选项卡 →不添加活动下一步
    2. 名称包名保存位置随便你
    3. 语言Java
    4. 最低 API 级别API 28
    5. 该项目将支持即时应用程序已禁用
    6. 结束
  3. ./app/build.gradle
    1. 添加implementation 'com.google.guava:guava:27.0.1-android'androidTestImplementation "com.google.truth:truth:1.0"dependencies
  4. ExampleInstrumentedTest.java 中
    1. 右键单击class ExampleInstrumentedTest并选择运行'ExampleInstrumentedTest'

预期
测试通过

实际
构建错误:

如何解决此构建问题?