在 java 1.8.0 版本的環境下,進行 android apk 的簽名操作,1.8.0apk
註:文章參考了 android 開發人員社區的簽名指引說明文章,但由於在國內 android 開發人員社區已經無法正常訪問,因此在這裡做下記錄。
地址:http://developer.android.com/tools/publishing/app-signing.html#considerations
在開發 android 應用程式的時候,到最後程式都需要進行簽名後才發行就緒,目前針對 android 應用開發的 ide 一般都會內建了簽名的功能,例如 android studio、eclipse、intellij idea。如果您喜歡使用 ide 內建的功能簽名,您就不需要再繼續往下看了。以下主要是進行 android apk 手動簽名的教程,雖然本人並不是很喜歡這種方式,但是公司的兩位前輩都比較傾向於使用 bash 指令碼,像這種打版本的事情就一般都是走指令碼,一句命令,版本打好,發布關機走人。因此以下所用到的命令都是在 cygwin 的環境下執行的,因此前面帶有 $ 這個符號。 【ps :我不喜歡主要是不大懂 linux 的文法,哎,要記得東西太多了。】
到目前為止,網上關於 android apk 簽名的教程一般都停留在 java 1.6 版本或者之前,然而 java 現在已經更新到了 1.8 了,java 1.7 版本我並沒有安裝,就直接從 java 1.6 升級為 java 1.8 了,java 1.6 與 java 1.8 之間產生密鑰和簽名的命令格式有點不一樣,1.6 版本的不在這文章的介紹範圍內,網上一搜,基本全都是。
1. 產生密鑰 (ps:“密鑰” 和 “秘鑰” 有什麼區別?)
輸入命令:$ keytool -genkeypair -v -keystore test.keystore -alias test -keyalg RSA -validity 20000
參數說明:
1. genkeypari:產生金鑰組。
2. keystore:密鑰庫名稱,如上所示"test.keystore"。
3. alias:密鑰的別名,在簽名的時候需要用到。
4. keyalg:密鑰演算法名稱。
5. validity:有效天數。
運行:
2. 驗證您所產生的密鑰檔案。
輸入命令:$ keytool -list -v -keystore test.keystore
運行:
3. 執行簽名,由於我在寫文章的時候沒有現成的 apk,因此只在這裡添加執行的命令。
輸入命令:$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore xxx.apk test
參數說明:
1. 在jdk 1.8 的環境下,sigalg 和 digestalg 這兩個參數必須帶上,否則簽名出來的 apk 包是無法安裝的。
2. -keystore:後面是您所產生的密鑰檔案。
3. xxx.apk 是你要簽名的 apk。
4. test 是密鑰檔案的別名。
屁股都坐疼了,準備看電視劇去,最近優酷在播《大漢賢后衛子夫》,挺和我口味的,今晚看完三集估計也要1點半了吧。
電腦用android逆向助手簽名apk提示java環境確實怎辦
你這個是缺少JDK啊,下載安裝JDK,然後設定環境變數。去ORACLE官網下下載JDK,然後再系統屬性,進階系統設定,環境變數下建立JAVA_HOME,CLASSPATH,PATH三個變數,具體怎麼設定環境變數網上有很多圖文教程啊
在電腦上編輯,簽名安卓apk軟體是不是都要java環境
是的,你要安卓jdk,因為簽名用的就是java軟體,所以必須具備java軟體的運行環境,編輯的話,反編譯用到的apktool.jar也是java的