build.gradle里的targetSdkVersion
从 26增加到 28;下面是我们遇到一些兼容性问题
这个要特别注意第三方,比如友盟分享的中转页,也是锁死方向导致崩溃的,要一一排查
- 前台线程权限崩溃
9.0需要在manifest里声明前台线程权限,才能使用
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
前台线程注意区分版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(starter);
} else {
context.startService(starter);
}
以下是未遇到,但是会涉及到的问题,要排查
1.黑名单api问题
使用google工具veridex扫描,不要对黑名单里的属性进行反射调用。
深灰名单里,发现国产第三方工具、极光、tinker都有用到,目前暂无影响
项目里扫描后没有黑名单反射
- 友盟QQ分享失败的问题
如果9.0的手机,在target api 28上面,分享qq会失败。
主要是废弃的apache http库,在9.0里被去掉了,
但是现在(2019.5.18)友盟分享qq,在几台9.0的手机上均测试通过。