一、前言
目前发现旧版app在新的android15系统中出现无法启动应用的情况
二、原因分析
1. 项目的api配置未设置api 35兼容配置
修改api35注意一下几项:
① switch判断viewid的方式全部需要改为if-else
② module与主项目的资源应用更严格需要区分,无法互相引用string等资源
③ gradle配置更困难,需要使用高版本的gradle并且需要适配的版本。可以用代理下载
2. 出现如下的启动异常

image.png
查询到是由于微信的广播注册导致的这个问题

image.png
按照如下配置修改即可:
//建议动态监听微信启动广播进行注册到微信
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
context.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 将该app注册到微信
api.registerApp(PlatformConfig.WX_APP_ID);
}
}, new IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP), Context.RECEIVER_EXPORTED);
} else {
context.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 将该app注册到微信
api.registerApp(PlatformConfig.WX_APP_ID);
}
}, new IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP));
}