解決 Android 升級 SDK API 27 過程中遇到的問題

??????小菜今天升級適配 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. 之后查閱資料發(fā)現在 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 的適配還會涉及很多東西,需要不斷測試研究,并及時優(yōu)化處理。


來源: 阿策小和尚

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容