改成targetSdkVersion 30 未适配安卓11后在安卓11设备上出了各种问题
android 11 微信授权会提示:MicroMsg.SDK.WXApiImplV10: sendReq failed for wechat app signature check failed
解决方法:微信官方给出相对应的解决方案
-
第一步:打开微信开放平台https://open.weixin.qq.com/
image -
第二步:根据提示打开https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/Android.html#jump2
image 第三步:根据Android官方给出的适配方案,在主工程的
AndroidManifest.xml
中增加<queries>
标签,即可解决以上影响,代码如下:
<manifest package="com.example.app">
...
// 在应用的AndroidManifest.xml添加如下<queries>标签
<queries>
<package android:name="com.tencent.mm" /> // 指定微信包名
</queries>
...
</manifest>
Android 11 加强了隐私保护策略,引入了大量变更和限制,其中一个重要变更 —— 软件包可见性 ,将会导致第三方应用通过微信OpenSDK的接口无法正常拉起微信,从而无法使用微信的全部功能,包括但不限于分享消息到微信、拉起小程序等功能。特别需要注意的是,Android11的该变更只会影响到升级 targetSdkVersion=30
的应用,未升级的应用暂不受影响。
适配方案
添加以上标签之后,需要开发者升级编译工具,否则会出现编译错误。
- Android Studio 需要升级至 3.3 及以上,建议升级至 4.0 及以上版本
- Android SDK Build-Tools 需要升级至 30 及以上版本
-
com.android.tools.build:gradle
需要升级至 3.6.0 版本,建议升级至最新的 3.6.4 版本