Xamarin Android绑定Play Core Review库时FakeReviewManager方法缺失问题
Xamarin Play Core Review模块绑定库问题
Xamarin Play Core v2.0.0版本将原包拆分为独立模块,我正在为Review和Tasks模块创建Xamarin Android绑定库。Tasks模块正常运行,但Review NuGet包出现报错,按官方文档操作未解决问题。
报错信息
...PlayCoreUpdateTest/PlayCoreUpdateTest.Android/InAppReviewService.cs(35,35): Error CS1061: 'FakeReviewManager' does not contain a definition for 'LaunchReviewFlow' and no accessible extension method 'LaunchReviewFlow' accepting a first argument of type 'FakeReviewManager' could be found (are you missing a using directive or an assembly reference?) (CS1061) (PlayCoreUpdateTest.Android)
已尝试的解决操作
- 在metadata文件中添加以下属性配置,无效:
<attr path="/api/package[@name='com.google.android.play.core.review']/class[@name='IReviewManager']" name="extends">Java.Lang.Object</attr> <attr path="/api/package[@name='com.google.android.play.core.review.testing']/class[@name='FakeReviewManager']" name="extends">Java.Lang.Object</attr>
- 尝试添加自定义节点手动补全缺失方法,无效:
<add-node path="/api/package[@name='com.google.android.play.core.review.testing']/class[@name='FakeReviewManager']"> <method abstract="false" deprecated="not deprecated" final="false" name="launchReviewFlow" jni-signature="(Landroid/app/Activity;Lcom/google/android/play/core/review/ReviewInfo;)Lcom/google/android/gms/tasks/Task;" bridge="false" native="false" return="com.google.android.gms.tasks.Task<java.lang.Void>" jni-return="Lcom/google/android/gms/tasks/Task<Ljava/lang/Void;>;" static="false" synchronized="false" synthetic="false" visibility="public" return-not-null="true"> <parameter name="p0" type="android.app.Activity" jni-type="Landroid/app/Activity;" not-null="true" /> <parameter name="reviewInfo" type="com.google.android.play.core.review.ReviewInfo" jni-type="Lcom/google/android/play/core/review/ReviewInfo;" not-null="true" /> </method> <method abstract="false" deprecated="not deprecated" final="false" name="requestReviewFlow" jni-signature="()Lcom/google/android/gms/tasks/Task;" bridge="false" native="false" return="com.google.android.gms.tasks.Task<com.google.android.play.core.review.ReviewInfo>" jni-return="Lcom/google/android/gms/tasks/Task<Lcom/google/android/play/core/review/ReviewInfo;>;" static="false" synchronized="false" synthetic="false" visibility="public" return-not-null="true" /> </add-node>
- 参考过Jonathan Dick的绑定库创建视频及微软官方排障文档,未解决问题
发现的异常点
- 生成的api.xml文件中存在FakeReviewManager类,但缺少RequestReviewFlow方法
- api.xml.class-parse文件中FakeReviewManager包含缺失的LaunchReviewFlow方法
- v2.0版本的AAB文件指向Play Core Tasks库,而非官方推荐的GMS版本Tasks
内容的提问来源于stack exchange,提问作者Saamer
相关产品推荐
相关产品推荐

