为了账号安全,请及时绑定邮箱和手机立即绑定

解决 Android 升级 SDK API 27 过程中遇到的问题

标签:
Android

      小菜今天升级适配 SDK-API 27,可谓艰难险阻,真的好磨人,记录一下遇到的两个比较重要的问题,希望各位不会掉坑。


问题一 Could not find common.jar



  1. 小菜是由 26.1.0 准备升级到 27.1.1,首先是更换 SDK-Version 等,然后下载 SDK,一切正常,等到下载完 sync now 同步时,却报了如下错误:

    问题一.png



  2. 在网页中打开链接,却是 404;

    404.png

  3. 查阅网上资料,说涉及到的版本不要用 27.+ 之类的,应替换为准确的版本号,但是小菜用的是明确的 27.1.1,该方案失败;

  4. 网上部分大神说,需要在 build.gradle 中添加 maven { url "https://maven.google.com" },但是小菜也都有,并不能直接解决问题,如图:

    修改前 build.gradle




  5. 之后查阅资料发现在 build.gradle 中 maven 顺序有关系,因为 jcenter 已经删除 android.arch.core 库,需要从 google.com 中下载,小菜调整顺序,rebuild 之后问题解决。

    解决后 build.gradle

问题二 Only fullscreen opaque activities can request orientation



  1. 小菜好不容易解决掉问题一,紧接着进入程序各种闪退,如图:

    问题二.png



  2. 小菜按字面意思理解的是,只有占据整个屏幕的 Activity 才可以设置横竖屏,半透明/对话框等不可设置横竖屏,当然小菜用到的侧拉页面也是不可以;

    源码

  3. 小菜首先把 AndroidManifest.xml 中注册的 Activity 均去掉该属性  android:screenOrientation="portrait"

  4. 为了横竖屏的切换,小菜添加了一个 values-26 的文件夹,存放针对 Android8.0 以上手机的 style.xml,将 android:windowIsTranslucent 改为 false


    <item name="android:windowIsTranslucent">false</item> 并加入 <item name="android:windowDisablePreview">true</item>,如下:

    values-26.png

<style name="TopicDetailTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowAnimationStyle">@style/AnimationThemeEpager</item>
    <item name="android:windowIsTranslucent">false</item>
    <item name="android:windowDisablePreview">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">false</item>
    <item name="android:windowTranslucentStatus">true</item></style>
  1. 以上,就解决掉进入程序闪退,和横竖屏正常切换的问题了。但是如果有需求固定横屏或竖屏呢,很简单,在 Java/Kotlin 代码的 onCreate 中设置 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    即可,亲测可用。

      Tips: Android8.0 的适配还会涉及很多东西,需要不断测试研究,并及时优化处理。



作者:阿策神奇
链接:https://www.jianshu.com/p/0c7352f1d899

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消