1. 程式人生 > >解決app在Android P中安裝失敗以及不相容問題

解決app在Android P中安裝失敗以及不相容問題

Android P即Android 9.0 在Google IO2018正式面向全球釋出,它的代號是Pie,仍然基於Linux核心構建。全新的手勢操作選項。底部虛擬鍵將由小白點和一顆返回鍵取代。通過輕觸回到主頁、長按撥出語音助手。新的特性主要有:

  1. 利用 Wi-Fi RTT 進行室內定位
  2. 劉海平API支援
  3. 通知欄功能增強
  4. 多攝像頭支援和攝像頭更新
  5. HDR VP9 視訊、HEIF 影象壓縮和 Media API
    可以先閱讀:https://ywnz.com/linuxxw/2556.html
    詳細可參考Google官方文件介紹。

Android 9.0模擬器搭建

目前Android 9.0只在少數的幾款手機上能夠升級,如果暫時還不想購買手機,模擬器就會是最佳選擇,首先在AndroidStudio的Tools目錄下找到Android,點開目錄下的AVD Manager。

在彈出的視窗中選擇Craet Virtual Device按鈕。根據提示下載API 28的SDK資源與Image資源等,下載速度較慢,最好準備處理網站訪問問題。

下載完之後別忘了更新gradle配置:

androidTargetSdkVersion = 28
androidCompileSdkVersion = 28

執行專案過程中所遇到的問題記錄一下:

1.下載完成後開啟模擬機,執行專案,結果apk安裝失敗,提示報錯:

解決辦法是先Clean Project,再Rebuild Project

2.處理 android 方法總數超過 65536 . the number of method references in a .dex file exceed 64k


應用中的Dex 檔案方法數超過了最大值65536的上限,簡單來說,應用爆棚了.

我用的解決方案是分割 Dex 檔案實現方法

defaultConfig {

    multiDexEnabled true

}

dependencies {

implementation'com.android.support:multidex:1.+'

}

然後修改自定義的application類繼承MultiDexApplication類

修改完之後就可以正常運行了

3.CLEARTEXT communication to life.115.com not permitted by network security policy

問題原因: Android P 限制了明文流量的網路請求,非加密的流量請求都會被系統禁止掉

解決方案:

在資原始檔新建xml目錄,新建檔案network_security_config.xml

<?xml version="1.0"encoding="utf-8"?>

<network-security-config>

    <base-config cleartextTrafficPermitted="true" />

</network-security-config>

清單檔案配置:android:networkSecurityConfig="@xml/network_security_config"

但還是建議都使用https進行傳輸