1. 程式人生 > >Android Studio簽名打包安裝失敗

Android Studio簽名打包安裝失敗

自己的Android studio(windows平臺上)剛剛更新到2.3版本,在沒有充分了解它的新變化的情況下,使用的時候難免會遇到一些問題,比如gradle的問題可能是大家最常見的,不過解決的一般思路和之前(例如2.1更新到2.2之類的)沒太大區別,本文要說不是gradle的問題,而是給apk正式簽名後安裝失敗的問題。

       專案在正式上線之前一般都要有正式簽名,也就是釋出release版本的apk,而不再使用預設的debug版簽名檔案----debug.keystore。最常用的方式就是通過Android studio的工具欄裡的Build-->Generate Signed APK...方式去簽名。更多的步驟不再贅述,按照提示一步步的往下走就可以,相信大家都知道了。

這種方式簽名後的apk就是釋出版(release)的apk,android studio2.3之前是可以直接安裝到裝置上的,安裝方式之一就是在docs命令列裡用adb install <apk絕對路徑>命令去安裝到連線到PC上的Android裝置。但是,Android studio2.3以後(更高版本的不敢保證有同樣問題,起碼2.3目前是這樣的,哈)這種方式打包apk的話就有了些變化:

就如畫圈的地方,2.3以前應該是沒有的(印象中是沒有,如果有的話是我記錯了,見諒),多了這些選項的話不選擇是無法繼續下去的,選擇的話,我當時看到V2和apk有關,V1和jar有關,在沒有弄明白區別的時候果斷選擇V2的方式,然後點選了Finish.等了一會,apk打包好了,我用adb install命令安裝這個apk的時候卻遇到這樣的問題:

對,就是說沒有簽名證書!但是我確實是簽了名了啊,而且相應的.jks檔案也是存在的。我通過手動編輯gradle檔案進行簽名的話再安裝也是OK的。於是我clean,rebuild,新建專案,重啟studio...各種方式都試了,然後通過這種方式簽名打包後的apk仍然存在這個問題。於是只能上網找答案,然後就發現了問題確實是在上述畫圈的地方:把V1單獨勾選或者V1和V2都勾選的話,再打包就是OK的,也就是說只要勾選了V1就行,生成的apk就可以正常安裝...暈。

網上相關的文章也不少了,至於其他的簽名方式也有無數文章講到,這裡不再重複造車。只是希望這篇文章能給和我一樣的"姿勢"遇到這個問題的各位一點啟示,比如用新東西之前最好能知道它的新變化,發現和之前的不起眼的差異點(就如上圖劃線地方新出現的細節)要知道是幹什麼用的...否則就有可能在這個點上遇到問題,會浪費不必要的時間,也會使自己煩躁。