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