操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    問題描述

    我們在進行Android開發的時候,一般都會在應用里檢測有沒有更新,并且從網上下載最新的版本包,覆蓋本地的舊版本。在我的項目中,出現了一個問題,就是當安裝包下載到本地的時候,產生了“解析包時出現問題”這樣的錯誤,導致無法安裝相應的新版本。同時,值得一提的是,這個問題只有在我們用代碼調用去進行安裝的時候才會發生,我們手動去用安裝包覆蓋本地的舊包則沒有出現問題。經過反復的測試,發現這個問題只會發生在Android 7.0版本的設備上,在較低版本的設備上則無這個問題。

    解決方案1

    這也是在網上比較通用的方案,就是在打包的時候我們使用了V2簽名導致無法進行安裝。

    Android 7.0 引入一項新的應用簽名方案 APK Scheme v2,它能提供更快的應用安裝時間和更多針對未授權 APK 文件更改的保護。在默認情況下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 會使用 APK Scheme v2 和傳統簽名方案來簽署應用。

    這項新方案并非強制性的,如果應用在使用 APK Scheme v2 時不能正確開發,可以停用這項新方案。禁用過程會導致 Android Studio 2.2 和 Android Plugin for Gradle 2.2 僅使用傳統簽名方案來簽署應用。要僅用傳統方案簽署,打開模塊級 build.gradle 文件,然后將行 false 添加到版本簽名配置中:

    android {

    { … }

    {

    release {

    解析程序包時出現了問題_re解析程序包時出現問題_解析包程序出現問題是什么原因

    file(“.”)

    “”

    “”

    “”

    false

    根據官方文檔,就是在我們的gradle文件里的相應位置添加這行代碼

    false

    1
    

    即可(如上)。

    解析程序包時出現了問題_re解析程序包時出現問題_解析包程序出現問題是什么原因

    解決方案2

    但是,在我的情境中,即使使用了方案一,仍然在更新包下載完成后顯示了“解析包時出現問題”這樣的字樣,導致下載更新流程出錯。

    這個時候,就有可能是另外一種情況:當我們在7.0上使用系統服務去下載apk并且試圖安裝時,有可能由于權限問題導致安裝失敗。

    每個Android版本的發布,對于安全性問題的要求越來越高,也為Android程序員增加了額外的工作量。.0引入動態權限控制(Runtime ),.0引入私有目錄被限制訪問和 API 。私有目錄被限制訪問是指在.0中為了提高應用的安全性,在7.0上應用私有目錄將被限制訪問,這與iOS的沙盒機制類似。 API是指禁止向你的應用外公開 file:// URI。 如果一項包含文件 file:// URI類型 的 Intent 離開你的應用,則會報出異常。

    以下是我原來在7.0上出問題的代碼:

    Intent install = new Intent(Intent.);

    install.(Uri.(new File()), “/vnd.android.package-archive”);

    install.(Intent.SK);

    context.(install);

    1
    
    2
    3
    4
    

    從代碼中可以看出,Uri.導致我們在7.0上出現了問題,它其實就是生成一個file://URL。這就是為什么在下載完成后,調用這段代碼去安裝的時候出錯,因為一旦我們通過這種辦法打開系統安裝器,就認為file:// URI類型的 Intent 離開我的應用,這樣程序就會發生異常;而我們手動去把安裝包覆蓋原來的舊包則沒有問題。

    解決方案將使用,它的步驟是:

    第一步:
    在AndroidManifest.xml中注冊provider,provider可以向應用外提供數據。
    

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有