Tom*_*omV 13 java android android-billing
调试详细信息:按照从 Android Billing 4.0 迁移到 5.0 的教程https://developer.android.com/google/play/billing/migrate-gpblv5,特别是“显示可供购买的产品”部分 ImmutableList 中的“of”被标记为红色,Android Studio 中的错误是
无法解析“ImmutableList”中的“of”方法”
我该如何解决?
获得编译错误的最小可重现代码:
QueryProductDetailsParams queryProductDetailsParams =
QueryProductDetailsParams.newBuilder()
.setProductList(
ImmutableList.of(
QueryProductDetailsParams.Product.newBuilder()
.setProductId(PREMIUM_MONTHLY_VERSION_ID)
.setProductType(BillingClient.ProductType.SUBS)
.build()))
.build();
Run Code Online (Sandbox Code Playgroud)
以下是具体细节:
期望的行为:代码编译良好。
具体问题或错误:编译错误。
rzw*_*oot 17
ImmutableList在“Android Billing 5.0 教程”的上下文中,显然是指 guava 的 ImmutableList - 这种类型的全名是com.google.common.collect.ImmutableList.
据我所知,这个类被嵌入到 android 中(但不是纯 java 中的)。一直以来都是有of方法的。因此:
ImmutableList. 不要那样做。将您的重命名为其他名称。ImmutableList. 您应该import com.google.common.collect.ImmutableList;在顶部有一个,或者可能import com.google.common.collect.*;- 如果缺少,请考虑添加它。Android 没有“有”java 9 或 java 11 - 你只需要 java1 即可,重点是:它根本不是 java 核心类- 只有以 is 开头的东西java.*。然而,android 并不(完全)是 java。
我只是不确定:我认为 guava (包含 ImmutableList 的库)默认在 android 上可用,这意味着你的 IDE 设置已损坏。或者也许不是,在这种情况下你需要添加 'guava ' 依赖。怎么样?嗯,这取决于 - 我认为 android 构建是基于 gradle 的,这意味着:在 search.maven.org 上查找它并按照 gradle 说明进行操作。
| 归档时间: |
|
| 查看次数: |
5718 次 |
| 最近记录: |