1. 如何對android的APP進行簽名
1.簽名的步驟
a.創建key
b.使用步驟a中產生的key對apk簽名
2.具體操作
方法一: 命令行下對apk簽名(原理)
創建key,需要用到keytool.exe (位於jdk1.6.0_24jrein目錄下),使用產生的key對apk簽名用到的是jarsigner.exe (位於jdk1.6.0_24in目錄下),把上兩個軟體所在的目錄添加到環境變數path後,打開cmd輸入
D:>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
/*說明:-genkey 產生密鑰
-alias demo.keystore 別名 demo.keystore
-validity 40000 有效期限4000天
-keystore demo.keystore */
D:>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*說明:-verbose 輸出簽名的詳細信息
-keystore demo.keystore 密鑰庫位置
-signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,三個參數中依次為簽名後產生的文件demo_signed,要簽名的文件demo.apk和密鑰庫demo.keystore.*/
注意事項:android工程的bin目錄下的demo.apk默認是已經使用debug用戶簽名的,所以不能使用上述步驟對此文件再次簽名。正確步驟應該是:在工程點擊右鍵->Anroid Tools-Export Unsigned Application Package導出的apk採用上述步驟簽名。
方法二:使用Eclipse導出帶簽名的apk
Eclipse直接能導出帶簽名的最終apk,非常方便,推薦使用,步驟如下:
第一步:導出。
第二步:創建密鑰庫keystore,輸入密鑰庫導出位置和密碼,記住密碼,下次Use existing keystore會用到。
第三步:填寫密鑰庫信息,填寫一些apk文件的密碼,使用期限和組織單位的信息。
第四步:生成帶簽名的apk文件,到此就結束了。
第五步:如果下次發布版本的時候,使用前面生成的keystore再簽名。
第六步:Next,Next,結束!
方法三:使用IntelliJ IDEA導出帶簽名的apk
方法步驟基本和Eclipse相同,大概操作路徑是:菜單Tools->Andrdoid->Export signed apk。
2. 如何對Android的APP進行簽名
簽名方法:
1.使用Keytool 和jarsigner工具簽名(在jdk/bin目錄下)
1.生成簽名keystore:
確保電腦上安裝了JDK,因為我們將使用JDK自帶的創建和管理數字證書的工具Keytool。在命令行下輸入如下命令:
keytool -genkey -v -keystore app.keystore -alias alias_name -keyalg RSA -validity 20000
-alias 後面跟的是別名這里是alias_name
-keyalg 是加密方式這里是RSA
-validity 是有效期這里是20000
-keystore 就是要生成的keystore的名稱這里是app.keystore
然後按回車鍵
按回車後首先會提示你輸入的密碼:這個在簽腔譽名時要用的,要記住
然後會再確認你的密碼。
之後會依次叫你輸入姓名、組織單位、組織名稱、城市區域、省份名稱、國家代碼(CN)等。
Keytool的詳細參數請參考:
http://www.android123.com.cn/androidkaifa/173.html
2.簽名:
jarsigner -verbose -keystore app.keystore -signedjar app_signed.apk app.apk alias_name
-keystore: keystore的名稱
-signedjar app_signed.apk: 指定簽名後生成的APK名稱
app.apk: 目標APK
然後按回車:會要氏帆求輸入剛才設置的密碼,輸入後按回車就開始簽名了。
3.查看簽名:
jarsigner -verify app_signed.apk
查看是否簽名,如果已經簽名會列印 "jar verified".
jarsigner -verify -verbose -certs app_signed.apk
查看簽名詳細信息。
4.通過zipalign工具進行優化apk(android自帶的工具,./build/tools/zipalign)
zipalign -v 4 app_signed.apk androidres.apk 對apk優化
zipalign -c -v 4 androidres.apk 查看apk是否經過優化
2.使用eclipse ADT工具簽名
在Package Explorer 窗口,右鍵,選擇Android Tools--->Export Signed Application Package 然後按照提示一步一步,生成已簽名的apk。通過eclipse也可以導出未簽名的APK文件。
註:需要輸入兩次密碼,第一次是私鑰密碼,第二次時私鑰別名的伍核段密碼。
3.eclipse在debug模式下自動簽名(無須手動配置):
在debug模式下用eclipse 的ADT為android簽名,只要應用程序在eclipse下開發,系統就會自動給apk簽名和優化。
在Eclipse中Windows > Preferences > Android > Build可以看到你keysotre的位置
3. Android studio 如何創建apk簽名
1、打開軟體
找到「Build」選項
2、打開生成apk簽名的窗口
Build---->Generate Signed APK...
3、 選擇創建新的密鑰
Creata new...
4、 選擇密鑰存儲路徑,並為密鑰命名
填寫信息
5、設置密碼,填寫或更改信息
密碼請牢記,密碼請牢記,密碼請牢記(三遍了)
證書內容貌似可以空白
6、ok,然後,下一步
如果遇到下圖的情況,不用擔心,繼續點擊ok
問題解決辦法:https://www.jianshu.com/p/67c2972182a0
7、然後,下一步
8、選擇簽名版本
v1或者v1&v2 然後點擊finish 即可,找到剛才保存的路徑,即可找到簽名文件
建議選擇v1&v2
4. android開發 怎麼給apk文件用已有的簽名文件進行簽名,不用eclipse
給apk文件簽名主要分三步:
1、創建證書
2、簽名
3、優化(可選)
1)使用jdk的keytool工具生成簽名用的證書> keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 10000 -keystoreCERT.keystore 創建過程需要輸入一些標識信息和密碼,一些重要的參數值說明如下(根據自己的需要要進行相應的修改): CERT.keystore ---- 證書保存的文件名 CERT ---- 證書的別名 10000 ---- 10000天的有效期 2048 ---- 默認為1024 bits,Android 建議使用2048 bits或更高其他的詳細信息可以使用keytool -help查看幫助 證書生成後使用如下命令可以查看證書的信息:> keytool -list -alias CERT -keystore CERT.keystore
2)使用jdk的jarsigner工具對apk文件簽名> jarsigner -verbose -keystore CERT.keystore to_sign.apk CERT 簽名過程需要輸入證書的密碼,一些重要的參數值說明如下(根據自己的需要要進行相應的修改): CERT.keystore ---- 證書保存的文件名 CERT ---- 證書的別名 待簽名的apk文件根根目錄下如果有文件夾「META-INFO」,請先刪除(重新簽名就需要這樣做)。如果不想創建過程輸出太多信息,可以刪除「-verbose」 。上述簽名會直接覆蓋原來的文件,如果不想被覆蓋而簽名為另外的新文件 signed.akp,只需將 to_sign.apk 改為 -signedjar to_sign.apk signed.akp 即可。簽名後可以使用如下命令驗證是否簽名成功: > jarsigner -verify to_sign.apk 如果需要查看更詳細的驗證信息,可修改為:> jarsigner -certs -verbose -verify to_sign.apk
3)使用android sdk的zipalign工具優化已簽名的apk文件> zipalign -v 4 unaligned.apk aligned.apk 注意要在簽名後再zipalign。這個工具不是jdk自帶的,而是在%ANDROID_HOME%\tools\zipalign.exe。