问题描述:
最近,一些开发者报告说他们想要更新 Play 商店上的应用, 然而,它收到了 Google 的拒绝,标题为隐式 PendingIntent 漏洞,称其应用程序包含隐式 PendingIntent 问题。他们需要在 Play 管理中心显示的截止日期之前解决此问题,否则应用可能会从 Google Play 中删除。
类似问题:Google denied update due Remediation for Implicit PendingIntent Vulnerability
最佳答案
如@ tao提到了,让我在这里发布解决方案。
问题原因:
5.3.0.304版本之前的HMS Core Push套件、6.0.0.301版本之前的Analytics Kit早于 5.3.0.305 版本的帐户工具包包含隐式 PendingIntent 问题。
解决方案:
推送套件SDK version 5.3.0.304 、分析套件SDK version 6.0.0.301和 账户套件SDK version 5.3.0.305已发布并修复了隐式 PendingIntent 问题。它们已经过开发者的测试和验证,并且可以得到 Google 的批准发布。
如果您当前正在使用插件(如React Native、Cordova、Ionic、Flutter),在这些插件新版本发布之前,华为还提供了解决方案(通过手动更改版本号)。
下面介绍修改方法(基于5.x插件):
- React Native:
RN中安装HMS Core插件后,插件包存放在node_modules/@hmscore中。
需要修改node_modules/@hmscore/react-native-hms-account/android目录下的
build.gradle
文件(将Account以Kit插件为例):打开
build.gradle
文件并更改dependency中的SDK版本。
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'com.facebook.react:react-native:+' // From node_modules
implementation 'com.huawei.hms:hwid:5.0.3.302'
}
更新后,运行以下命令重新开始编译。插件下载新的SDK:
react-native run-android
- Cordova / ionic
如果您按照华为文档所述安装了该插件,则该插件应保存在node_modules/@hmscore文件夹中。
您需要修改
node_modules/@hmscore/cordova-plugin-hms-push
目录中的plugin.xml
文件。 (以下以Push Kit插件为例)打开
Plugin.xml
文件,搜索关键字framework
,找到需要修改的SDK。
<framework src="androidx.core:core:1.3.1"/>
<framework src="com.facebook.fresco:fresco:2.2.0"/>
<framework src="com.huawei.hms:push:5.0.2.301" />
<framework src="resources/plugin.gradle" custom="true" type="gradleReference"/>
将版本号更改为新版本号并保存。
返回应用根目录并删除
platforms/android
和plugins/cordova-plugin-hms-push
文件夹。在根目录中运行以下命令:
Cordova :
cordova平台添加android
cordova run android --device
Ionic( Cordova ):
ionic cordova平台添加android
ionic 构建
ionic cordova run android --device
ionic (电容器)以不同的方式工作:
①。从 android 目录中删除
capacitor-cordova-android-plugins
文件夹。②。根据步骤2中的描述修改
plugin.xml
文件。③.运行以下命令:
ionic 构建
npx 上限同步
npx cap 打开 android
④.在Android Studio中重新编译
flutter
您可以引用this answer .
摘要
以上插件均采用开源模式使用,开发者可以直接修改。
但是,Xamarin插件是以Nuget Package模式发布的。因此,您无法修改SDK版本。如果出现此问题,请随时与我们联系。
关于react-native - 来自 Google Play 商店的隐式 PendingIntent 漏洞错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68708777/