uniapp开发APP隐私检测不通过解决
打包后检测出某项隐私不通过,根据uniapp官方文档把对应隐私去掉
uni-app官网uni-app,uniCloud,serverless,默认使用的权限,App模块(三方SDK)的权限,App配置添加权限,App模块(三方SDK)的权限列表,Bluetooth(低功耗蓝牙),Contact(通讯录),Fingerprint(指纹识别),FacialRecognitionVerifhttps://uniapp.dcloud.net.cn/tutorial/app-permission-android.html#default
先说怎么检测有没有获取对应权限
# 进入包目录下解压包
apktool d 包名.apk# 查找包有没有目标权限
# READ_PHONE_STATE 目标权限名称
grep -i "READ_PHONE_STATE" 包名/AndroidManifest.xml# 如果输入有对应权限,则清除失败,如果是空的 则清除成功
检查项目有没有勾选对应权限
这里会默认额外添加权限,把用不到的去掉。
用不到的模块不要勾选
可以利用强制移除的权限去掉
项目根目录新建 AndroidManifest.xml 配置文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"package="io.dcloud.nativeresouce"><!--按下面方式配置需要移除的permissions--><uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" /><application><!--meta-data--></application>
</manifest>
如果上面方法都尝试之后,权限还是没有清除,大概率是缓存问题
# 完全清理项目
rm -rf unpackage/
rm -rf node_modules/
# 重新安装依赖和编译
npm install
然后再打包检测,上面使用的清除权限方法要保留,不要删掉。大概率会成功,反正我是清除成功了