簽名打包Android版apk
首先是關於apk簽名,Android程式的安裝是以包名(package name)進行區分的,就是同樣的包名會被認作是同一個程式。這樣就可以進行升級、替換。但是包名是一個可以被檢視的字串,這樣就可能被偽造,然後其他人就可以自己建立一個應用去替代你的應用,結果可想而知。而簽名就是為了防止這樣的情況發生,當你的程式被簽名後安裝,只有同樣包名與簽名的程式才能被替換安裝。而簽名是不可能簡單被偽造的,從而保證了程式的安全性。
打包簽名apk可以透過命令列、eclipse和android studio,這裡先介紹命令列和eclipse方式,其他的之後補上。
使用命令列打包簽名apk
打包apk
cordova bulid android //用於測試的打包方式,生成已簽名apk cordova build --release android //生成沒有簽名的apk>第一個命令生成的是一個Cordova-debug.apk,很明顯是用來進行本地開發測試使用的,注意這個apk是有簽名的,所以能被安裝在手機上,但是這個不能用來上架。 >因為只有在絕對同樣的環境下進行打包,才能保證這個apk的簽名相同,意味著你這臺機器必須始終保持正常並且系統和打包工具等不作修改。這明顯是不合理的。 >所以,我們必須採用生產的方式打包,就是第二個命令,這個命令生成的是一個無簽名的apk,他無法安裝在手機上,必須進行簽名。
生成簽名檔案
keytool -genkey -v -keystore demo.keystore -alias demo.keystore -keyalg RSA -validity 20000 >keytool是工具名稱; >-genkey意味著執行的是生成數字證書操作; >-v表示將生成證書的詳細資訊列印出來; >-keystore demo.keystore 表示證書的檔名; >-alias demo.keystore 表示證書的別名; >-keyalg RSA 生成金鑰檔案所採用的演算法; >-validity 20000 該數字證書的有效期,單位是天; 輸入後會讓你輸入密碼,並回答一些關於你公司和地區的問題,回答完後截圖記錄,防止忘記。
簽名apk
jarsigner -verbose -keystore /yourpath/demo.keystore -signedjar /yourpath/demo_signed.apk /yourpath/demo.apk /yourpath/demo.keystore >jarsigner是工具名稱, >-verbose表示將簽名過程中的詳細資訊列印出來; >/yourpath/ (根據自己的情況配置)相對於當前命令列所在資料夾的位置,可將下列檔案放在同一目錄下; >-keystore /yourpath/demo.keystore 剛剛生成的簽名檔案; >-signedjar /yourpath/demo_signed.apk 簽名後的apk名稱 >/yourpath/demo.apk 需要簽名的apk >/yourpath/demo.keystore 證書的別名
-
檢視apk的簽名
檢視簽名是否成功,可將簽名後的檔案,字尾名apk的改為zip,解壓。在該目錄下,輸入如下命令:
keytool -printcert -file META-INF/CERT.RSA
META-INF/TEST.RSA 根據自己的情況配置
輸入命令列後,會出現類似下圖資訊
13E87187-23B8-4A4B-9C1D-92BC260982B6.jpg
使用eclipse打包簽名apk
-
首先,選擇Export...如下圖:
5F2BDF7A-EABD-4C88-B534-129F3BBFD10E.jpg
-
建立金鑰庫keystore,輸入金鑰庫匯出位置和密碼,記住密碼,下次Use existing keystore會用到。
733A2366-A67B-4DAB-A71B-4CEE8F53AB63.jpg
-
填寫金鑰庫資訊,填寫一些apk檔案的密碼,使用期限和組織單位的資訊。
904EF7A1-CDFE-4157-BCAB-DF46401B914A.jpg
-
生成帶簽名的apk檔案,到此就結束了。
F096A79B-CA8D-412E-B1A8-C82CB3879D92.jpg
若有不對之處,請批評指正,謝謝!
作者:lion1ou
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4686/viewspace-2812331/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android空包Apk簽名AndroidAPK
- Android之重新簽名APKAndroidAPK
- Android加固之後Apk重簽名AndroidAPK
- Android APK打包流程AndroidAPK
- APK簽名報錯APK
- Flutter 打包 android端 apkFlutterAndroidAPK
- Apk 簽名的那些事APK
- Android Studio打包專案:APKAndroidAPK
- Android Studio打包apk,aar,jar包AndroidAPKJAR
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- Cordova 打包 apk,html 打包 apkAPKHTML
- Flutter 38: 圖解 Android 打包 APK 檔案Flutter圖解AndroidAPK
- Android APK命令列實現V1、V2簽名及驗證AndroidAPK命令列
- 加固+美團walle簽名打包+Python一鍵打包Python
- Android 應用簽名Android
- Android簽名機制Android
- 蘋果軟體打包簽名原理蘋果
- Android v1 簽名 和 v2+ 簽名Android
- Android應用重簽名Android
- Flutter的apk打包FlutterAPK
- Android 多包名打包應用Android
- Xamarin Android使用自簽名證書Android
- flutter常見問題【3】:Flutter 使用Android studio 打包生成apkFlutterAndroidAPK
- (原創)【B4A】一步一步入門04:編譯模式、打包為APK、私鑰簽名編譯模式APK
- uni-app&H5&Android混合開發二 || 使用Android Studio打包應用APKAPPH5AndroidAPK
- 安卓簽名檔案打包錯誤 Invalid keystore format安卓ORM
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- Android探索之旅 | 用ADB獲取應用APK名AndroidAPK
- Android Studio生成簽名檔案,自動簽名,以及獲取SHA1和Android
- React Native 打包apk的那些坑React NativeAPK
- uni-app專案打包成apk(本地打包篇)APPAPK
- iOS簽名、iOS企業簽名、iOS超級簽名工具使用iOS
- 蘋果企業簽名APP打包流程+iPhone12渲染圖蘋果APPiPhone
- 隱藏Android簽名檔案和金鑰資訊Android
- vue 專案打包成apk(Hbuilder方案)VueAPKUI
- 蘋果企業簽名多少錢-ios企業簽名-企業簽名蘋果iOS
- 群簽名與環簽名的介紹
- 【Android APK】解析SD卡上的APK檔案AndroidAPKSD卡