无法解析 Android 工作室中的符号"不可变列表"



我尝试实现Google Play Pay,但不知道如何解决这个问题:ImmutableList无法解决。我应该导入一些包吗?

我用谷歌搜索,没有这样的问题(Android studio)

ImmutableList.of(QueryProductDetailsParams.Product.newBuilder()
.setProductId("product_id_example")
.setProductType(BillingClient.ProductType.SUBS)
.build())

Android Studio建议使用firebase-crashlytics-buildtools依赖项导入ImmutableList类。这样做会导致文件(包)大小的大幅增加。

如果你没有在你的应用中使用crashlythics,试着把番石榴作为一个依赖项:

//graddle

实现"com.google.guava:番石榴:31.1安卓">

//Java类/代码

进口com.google.common.collect.ImmutableList;

这对文件大小的影响要小得多。在我的例子中,包是2MB,而如果使用crashlyths -buildtools则是10mb。

我遇到了同样的问题。通过将指针悬停在"immutableelist"上,我选择了条目Add dependency on com.google.firebase:firebase-crashlitics-builtools and import...

这个操作在我的活动文件

的导入部分创建了以下行进口com.google.firebase.crashlytics.buildtools.reloc.com.google.common.collect.ImmutableList;

和下面的行。gradle文件:

implementation 'com.google.firebase:firebase-crashlytics-buildtools:2.7.1'

但是,单词reloc在导入行中最初以红色显示,并提示无法解析符号'reloc'。然后我注意到在建筑里。在Gradle文件中,android studio提供将crashlytics-buildtools的版本从2.7.1更改为2.9.1。修改并同步gradle后,reloc不再是红色,ImmutableList被正确识别。

我想知道是否真的有必要导入firebase crash -buildtools来集成Google Billing Library(我将其用于具有应用内购买功能的应用程序),或者是否有更简单的方法来做到这一点。