移除Android内购后上传生产APK遇Google Play BILLING权限警告
嘿,我之前也踩过这个Google Play权限警告的坑,结合经验给你几个实用的排查方向:
检查依赖库的残留引用:很多时候你手动删掉了Manifest里的权限,但如果项目还保留着Google Play Billing库的依赖(比如
com.android.billingclient:billing这类),Gradle构建时会自动把BILLING权限合并到最终的Manifest文件里。去你的Module级别build.gradle文件的dependencies块里看看,把相关的billing依赖删除,然后执行clean再rebuild项目。查看合并后的最终Manifest文件:有时候主Manifest里的权限删了,但其他模块、第三方库的Manifest可能还带着这个权限。你可以在Android Studio里打开
app/build/intermediates/merged_manifests/release/AndroidManifest.xml(对应生产版本的路径),搜索BILLING关键词,确认是否还有残留。如果有,你可以在主Manifest里用tools:node="remove"强制移除这个权限:<!-- 先确保根节点添加了tools命名空间 --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="your.package.name"> <!-- 强制移除BILLING权限 --> <uses-permission android:name="com.android.vending.BILLING" tools:node="remove" /> </manifest>检查Google Play控制台的内购配置:如果控制台里还保留着之前创建的内购商品,哪怕你代码里删了内购逻辑,也可能触发这个警告。去Google Play Console的「Monetization > Products > In-app products」页面看看,把不需要的内购商品全部移除或者设置为下架状态。
确认APK的构建与签名一致性:确保你上传的生产APK是用正确的生产签名密钥打包的,没有和Alpha测试渠道的配置混淆。可以尝试重新生成一个全新的生产APK,构建时避开旧的缓存配置。
内容的提问来源于stack exchange,提问作者Ashiq

