1. 程式人生 > >版本更新時出現解析包錯誤

版本更新時出現解析包錯誤

 問題場景是:軟體從1.2.4升級到1.3.0的過程中出現瞭如題的問題即下載後安裝時出現“解析包時出現問題”的錯誤後停止。而且不是所有的手機都會出現這個問題,在華為2.2系統的測試機上是可以成功安裝的,而用魅族2X就不行。

       首先我懷疑下載的apk包的時候出現了問題,或許是在資料流傳輸的過程中丟包了,造成apk檔案不完整。於是我查看了一下下載方法。發現程式中是用File.createTempFile的方法進行下載的,而使用File.createTempFile方法下載的檔案,在不同系統下檔案的儲存位置不同。

       在android1.6android2.2android2.3.x系統下,用File.createTempFile

方法建立的檔案會存放到sd卡上;在android 4.1.1系統下,則會將臨時檔案存放到/data/data/應用包名/cache目錄下,而這個目錄僅對本應用程式有讀寫許可權,所以當程式下載成功後傳送意圖(Intent)給系統安裝時,系統安裝程式沒有訪問該檔案的許可權,於是系統就會列印“ Permission denied ”的log,彈出“解析包時出現錯誤”。

       因為魅族2XFlyme2.0系統是基於Android4.1系統修改的,所以會出現這個問題。

那麼我們如何解決這個問題呢,我的解決方法是,讓系統自帶的瀏覽器去下載,如此一來下載下來的apk包檔案就不會存在許可權不足的問題了。

我這裡使用的是HttpUtils.download進行下載的這個方法引數的意義:

/**
                 * 引數一:下載地址,引數二:下載到的本地的路徑,
                 * 引數三:如果目標檔案存在,接著未完成的部分繼續下載。伺服器不支援RANGE時將從新下載。
                 * 引數四:如果從請求返回資訊中獲取到檔名,下載完成後自動重新命名。
                 */

  1. Intent intent = new Intent();  
  2. intent.setAction("android.intent.action.VIEW");  
  3. Uri content_url = Uri.parse(url);  
  4. intent.setData(content_url);  
  5. startActivity(intent); 

      很有可能是因為路徑問題,最好不要寫成sdcard/Download/,這樣就可能出現解析包錯誤,建議改成 Environment.getExternalStorageDirectory()+"/Download/",就不會出現解析包的問題了


相關推薦

版本更新出現解析錯誤

 問題場景是:軟體從1.2.4升級到1.3.0的過程中出現瞭如題的問題即下載後安裝時出現“解析包時出現問題”的錯誤後停止。而且不是所有的手機都會出現這個問題,在華為2.2系統的測試機上是可以成功安裝的,而用魅族2X就不行。        首先我懷疑下載的apk包的時候出現了

關於更新app出現解析錯誤

包解析錯誤 因為許可權的問題,所以要在安裝之前加上如下程式碼: String path = Environment.getExternalStorageDirectory()+"/download";//此處是你下載的apk存放的資料夾地址

軟體內部更新出現解析出現問題”的錯誤後停止

       問題場景是:軟體從1.2.4升級到1.3.0的過程中出現瞭如題的問題即下載後安裝時出現“解析包時出現問題”的錯誤後停止。而且不是所有的手機都會出現這個問題,在華為2.2系統的測試機上是可以成功安裝的,而用魅族2X就不行。        首先我懷疑下載的ap

華為手機 android8.0APP更新出現安裝解析異常的提示及安裝閃退(無反應)問題

apk span nload sdk add ati lag 正常 activit 在做android app升級更新時遇到幾個問題,我用的測試機是華為V10 系統為8.0 一、安裝閃退(無反應) 解決辦法: 只要在Mainfest.xml 中加入權限編碼即可解決 &

Android7.1.1手機使用android studio開發出現解析出現錯誤的問題

在工作的時候,使用android studio開發,除錯工具是android7.1.1手機vivo x20,遇到我每次不管run自己的專案,還是我新建一個Hello World的demo也都是不行。一開始我懷疑是自己專案的問題,結果Hello World也不行。網上的相關問題

android apk檔案在模擬器上執行正常,在真機中出現解析錯誤解決辦法集錦

   這幾天遇到了這樣的問題,如果你確定不是apk檔案本身錯誤或是不完整的話,有以下解決辦法可供參考:     1. 用sd卡作為儲存地來安裝,而不用機器內建儲存。     2. 真機android版本比應用程式版本低。     3. 在手機程式選單中點 “設定”進入,

android 6.0系統應用內更新導致的解析錯誤問題

有時候android會遇到這樣的問題,應用內更新時在其他的版本的手機上可以,但在某些機型上更新下載完apk檔案事會出現解析包錯誤的情況。 在這裡總結一下自己走過的兩個坑。 解決思路: 當遇到這種問題的時候,首先應該檢查的是你下載的apk檔案的大小和你服務端儲存的apk檔案大

在Android7.0以上安裝出現解析軟體錯誤

vivox23在Android studio上除錯軟體出現“解析軟體包錯誤”,不管是專案工程還是自己新建的hellowrold工程都會出現這個問題,取消下圖第一個選項 Android studio的2.0新版本出了一個革命性的功能就是Instant Run(即時執行)!新的即時執行功能可以

Android7.0以上安裝出現解析軟體錯誤

工作中,vivoX9s,版本號:7.1.2,在Android studio上除錯軟體出現“解析軟體包錯誤”,不管是專案工程還是自己新建的hellowrold工程都會出現這個問題,如圖: eclipse: Android studio: 問題解決辦法: 1.ec

更新應用程式安卓apk出現解析程式出現問題

    在一次工作中,需求是進入應用程式splash時檢測版本,發現新版本提示使用者進行更新,更新好後就自動跳轉安裝介面。    我當時是把使用者點選更新下載後的apk存放到data/data/packageName/files這個目錄下,是通過getFilesDir().t

Windows 10更新出現0x80070422錯誤

選擇 解決方法 快捷 狀態 進入 問題 出現 繼續 bubuko Windows更新 更新狀態 安裝更新時出現一些問題,但我們稍後會重試。如果你繼續看到此錯誤,並想要搜索Web或聯系支持人員以獲取相關信息,一下信息可能會對你有幫助:(0x80070422) 分析原因

解決Android Studio 3.x版本的安裝沒有SDK,運行出現SDK tools錯誤

裝包 成功 訪問 環境 解決辦法 www. logs href 就會 好久沒更新了,最近手機上的鬧鐘APP沒一個好用的,所以想自己寫個。 那Android開發環境搭起來,註意先裝好jdk。 1、安裝Android Studio google的Android開發網站已經

Android APP自動更新,跳轉到安裝介面出現解析失敗

1、記錄一個問題,Android APP自動更新時,跳轉到安裝介面時出現解析失敗,解決辦法: 原因是下載檔案的許可權不正確 因為安裝時會跳轉到其他應用,其他應用沒有改檔案的讀寫許可權 Intent intent = new Intent(Intent.ACTION_VIEW); in

Ubuntu安裝ssh出現軟體 openssh-server 還沒有可供安裝的候選者錯誤

錯誤如下: sudo apt-get install opensshserver正在讀取軟體包列表... 完成正在分析軟體包的依賴關係樹正在讀取狀態資訊... 完成現在沒有可用的軟體包 openssh-server, 但是他被其他的軟體包引用了這可能意味著這個缺失

軟體中心閃退,Ubuntu12.04 更新出現W:GPG錯誤的解決方法

W: 校驗簽名出錯。此倉庫未被更新,仍然使用以前的索引檔案。GPG 錯誤:http://extras.ubuntu.com precise Release: 下列簽名無效:  16126D3A3E5C1192 解決方法:輸入gpg --keyserver subkeys.p

SqlServer連結伺服器配置及其在作業更新出現 [SQLSTATE 42000](錯誤 7410)的分析處理

在進行一些企業應用開發時候,經常地需要在Sqlserver2000裡面,直接的呼叫其它資料庫的資料,來實現資料共享和更新,當創立連結伺服器之後,關於呼叫資料時候的方案,一般分為兩種:1。當遠端表資料量較小几百條或更小可以採用直接呼叫方案,直接在引用時候,用sql查詢;例如:s

mysql4.1以上版本連線出現Client does not support authentication protocol #1251錯誤問題解決辦法

shell> mysqlClient does not support authentication protocol requestedby server; consider upgrading MySQL client 官方的說法是MySQL 4.1 and up

更新上傳git/gitee專案出現密碼配置錯誤(incorrect username or password)的解決辦法

1.輸入【git remote add origin git地址】 命令時出現incorrect username or pass

(三)Django繼承AbstractUser新建User Model出現fields.E304錯誤

install model groups ups com div col access span 錯誤詳情: auth.User.groups: (fields.E304) Reverse accessor for ‘User.groups’ clashes with re

訪問網出現403 Forbidden錯誤的原因:

csu 用戶 網址 class 目錄 火墻 body best b- 1.你的IP被列入黑名單。2.你在一定時間內過多地訪問此網站(一般是用采集程序),被防火墻拒絕訪問了。3.網站域名解析到了空間,但空間未綁定此域名。4.你的網頁腳本文件在當前目錄下沒有執行權限。5.在不允