Android apk簽名打包後使用adb手動安裝時失敗:[INSTALL_PARSE_FAILED_NO_CERTIFICATES](android studio2.3以後遇到的問題)

       自己的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就可以正常安裝...暈。

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

參考自:http://blog.csdn.net/lv_fq/article/details/65688532?locationNum=11&fps=1

              http://www.cnblogs.com/x-bing/p/6649939.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章