Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");
startActivity(intent);
file為一個apk文件,安裝的時候老是出現包解析錯誤,將apk文件用adb正常安裝啟動。
百度之,沒有發現一個好的解決辦法,高手同事出現了。
第一個,提供解決思路,因為這個文件是我檢查更新從服務器上拉取下來的apk文件,這個apk是另外一個小伙伴上傳到服務器上的,簽名不一樣。
考慮把我的app的manifest.xml文件下下面的版本改成和服務器一樣,運行一遍,把編譯的高的版本,從bin目錄下拿出來放到我的安裝目錄下。
運行app,不安裝服務器的apk文件,而是運行我自己僅僅升高了版本號的app,發現可以運行安裝。但是一旦切換成服務器上面的,依然是包解析異常。
這里要注意一個問題,就是安裝的包的名稱和項目的名稱保持一致?我這里是和project的名稱保持一致就不會出現異常,也就是我在寫這個文件的
名字的時候,最好和project的名稱一樣。可能有更寬泛的要求,待檢驗
第二個,發現我的安裝目錄可能是問題,提議我把安裝目錄改成sd卡目錄,而不是我之前的應用程序下面的file文件夾。結果換了文件夾,果然可以安裝。