错误提示:
2024-01-11 09:01:01.878 11754-11754 MicroMsg.S...ApiImplV10 com.bm.read E register app failed for wechat app signature check failed
2024-01-11 09:01:01.879 11754-11754 MicroMsg.S...ApiImplV10 com.bm.read E sendReq failed for wechat app signature check failed
运行环境:
Android 12
Pixel 3
错误分析:
开始以为是签名问题,或者debug签名被微信缓存了(原来遇到过这种情况,改了签名后不能马上支付,过一段时间又能用了)
等到第二天还是无法调起微信,
查阅资料才了解到:Android 11 版本为加强用户隐私保护引入较多变更,查询本地安装包需要添加权限,有两种添加方式:
解决方法:
1.添加可查询所有包名的权限:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"tools:ignore="QueryAllPackagesPermission" /><queries>
2.单独添加查询微信包名的权限:
<queries><package android:name="com.tencent.mm"/></queries>
两种方案添加其中一种都能解决。
全部代码演示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.POST_NOTIFICATIONS" /><uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!--方案1--><uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"tools:ignore="QueryAllPackagesPermission" />
<!--方案2--><queries><package android:name="com.tencent.mm"/></queries><applicationandroid:name=".MyApplication"android:allowBackup="true"android:dataExtractionRules="@xml/data_extraction_rules"android:fullBackupContent="@xml/backup_rules"