项目中遇到android 9.0问题

在这里只是记录一下在项目中遇到的Android9.0崩溃问题


1.问题:为了适配Android 9.0的刘海屏,使用谷歌推荐的方法:DisplayCutout类,但是使用后,如下代码中:

WindowManager.LayoutParams lp = activity.getWindow().getAttributes();

lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;

activity.getWindow().setAttributes(lp);

崩溃错误日志:

java.lang.NoSuchFieldError: No field layoutInDisplayCutoutMode of type I in class Landroid/view/WindowManager$LayoutParams; or its superclasses (declaration of 'android.view.WindowManager$LayoutParams' appears in /system/framework/framework.jar!classes2.d

通过这篇文章:原文链接:https://wetest.qq.com/lab/view/406.html?from=content_csdnblog
了解到需要进行非SDK API适配,非 SDK API 名单总共分为三类:light grey list (浅灰名单)、dark grey list (深灰名单)、dark list(黑名单),而深灰名单和黑名单是不允许调用的,上方标红方法就是在深灰名单中( 名单查看上方原文链接),所以导致的崩溃。

2.问题:android-async-http1.4.8在Android9.0中报如下错误

解决办法:升级android-async-http到1.4.9,问题解决

3.问题:xutils2.4.6中报NotFountException错误:

解决办法:升级xutils2.4.6到xutils3,问题解决

关于2,3问题,查看相关文章说Android P在新系统中,对使用老旧Target API的应用作了严格限制。Google在SDK增加了一项MIN_SUPPORTED_TARGET_SDK_INT新规,如果App的SDK版本低于v17,那么App将无法兼容Android P。这意味着安卓4.1包括以前版本的App,将会在Android P中遭到淘汰。原文链接:https://blog.csdn.net/xJ032w2j4cCjhOW8s8/article/details/79662424

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值