將高版本的應用程式打包完在手機上安裝時出現「已安裝了存在簽名衝突的同名資料報」警告提示。
分析之後找到原因是:
是因為在android手機上已經安裝過乙個低版本的應用,安裝高版本應用時,舊版應用的簽名與新版應用的簽名資訊不一致才導致出現此錯誤。
解決方法:
1.把舊的版本解除安裝掉,然後安裝新版本。(但此方法不適用於在測試應用的更新提示功能時使用,因為它只能保證將高版本的應用能夠安裝在手機上,而不會出現更新的提醒)
2.用與低版本打包時的同乙個證書重新打包,就可以正常安裝,且會出現更新提示。
因此注意一下android應用版本公升級的條件:
包名一致(android系統才會識別為同一應用)且簽名一致,系統檢測到高版本的應用時才會正常更新。
ps:自動更新功能的**
uri uri = uri.fromfile(new file(environment.getexternalstoragedirectory() + "/railway.apk"));
// 建立intent意圖
intent intent = newintent(intent.action_view);
intent.setflags(intent.flag_activity_new_task);// 啟動新的activity
// 設定uri和型別
// 執行安裝
context.startactivity(intent);
((activity) context).overridependingtransition(r.anim.roll_left2,android.r.anim.fade_out );
system.exit(0);
android 簽名 混淆打包
1 android 簽名 使用eclipse匯出帶簽名的apk,最簡單的方式。最後一步finish 就能匯出乙個 keystore的檔案了。下次再發布新版本的時候,使用這個生成的簽名繼續使用。2 android 混淆打包 1 準備proguard.cfg 檔案 我這電腦不能自動生成,不知道為什麼,可...
android 打包簽名問題
如果你使用 eclipse 打包,可忽略。在預設情況下,android studio 2.2 和 android plugin for gradle 2.2 會使用 apk signature scheme v2 和傳統簽名方案來簽署您的遊戲。如果您使用 apk signature scheme v...
qt專案的打包發布
1 新增qt執行時所依賴的庫檔案,可以借助一下類似於depends.exe 工具,但是最好的方法還是用官方自帶的windeployqt工具。命令 第一種 cd d d hellomw windeployqt hellomw.exe 第二種 windeployqt.exe d hellomw hell...