Android Studio打包專案:APK
本節只針對如何從零開始實現簡單的打包簽名
建立新的簽名檔案
概要
debug.keystore:使用Android Studio直接編譯執行時預設使用的簽名證書,存放路徑C:\Users<你的使用者名稱>.android
app-debug.apk:使用Android Studio直接編譯時生成的apk檔案
V1(Jar Signature):
V2(Full APK Signature):
APK檔案的校驗指令:jarsigner -verbose -certs -verify 簽名過的apk檔案
AS版本資訊
簽名檔案的生成
Android APP都需要我們用一個證書對應用進行數字簽名,不然的話是無法安裝到Android手機上的,平時我們除錯執行時到手機上時,是AS會自動用預設的金鑰和證書來進行簽名;但是我們實際釋出編譯時,則不會自動簽名,這個時候我們就需要進行手動簽名,那麼我們的簽名檔案怎麼來?下面圖文結合會手把手教你
到此,前面檔案已經生成在我們指定的目錄下了
備註:一個簽名檔案,是可以被多個APP專案進行簽名打包使用的
簽名打包
- 除錯執行時的打包
我們上面有提到使用AS直接編譯進行除錯執行時,使用的是預設的簽名檔案進行簽名,這時候會在build/outputs/apk/debug/
目錄下生成一個app-debug.apk
,這個就是使用谷歌預設的簽名檔案進行簽名打包的 - 釋出編譯時的打包
當我們已經開發完成之後,要實際放到應用市場上去進行釋出時,就需要使用正式簽名檔案編譯Release包,其中可以使用AS的操作介面進行打包,也可以使用Gradle命令進行打包,以下是AS視覺化操作進行打包步驟
根據需要,可以簽名打包出Debug版本和Release版本
編譯出來的目錄地址:
最後,我們初次把包打出來之後,當然要驗證是否有簽名成功
jarsigner -verbose -certs -verify 簽名過的apk檔案
AS除錯執行時包驗證結果如下
C:\Users\Aso>jarsigner -verbose -certs -verify C:\Users\Aso\Desktop\apk\app-debug.apk
s = 已驗證簽名
m = 在清單中列出條目
k = 在金鑰庫中至少找到了一個證書
i = 在身份作用域內至少找到了一個證書
沒有清單。
jar 未簽名。
C:\Users\Aso>
釋出編譯時包驗證結果(裁剪過的)如下 (詳細內容傳送門)
C:\Users\Aso>jarsigner -verbose -certs -verify C:\Users\Aso\Desktop\apptools\app-debug.apk
sm 316 Thu Jan 01 01:01:02 CST 1981 res/interpolator/btn_checkbox_checked_mtrl_animation_interpolator_0.xml
>>> 簽名者
X.509, CN=dengfusu
[證書的有效期為20-9-27 上午11:06至45-9-21 上午11:06]
[無效的證書鏈: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
......
>>> 簽名者
X.509, CN=dengfusu
[證書的有效期為20-9-27 上午11:06至45-9-21 上午11:06]
[無效的證書鏈: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
s = 已驗證簽名
m = 在清單中列出條目
k = 在金鑰庫中至少找到了一個證書
i = 在身份作用域內至少找到了一個證書
- 由 "CN=dengfusu" 簽名
摘要演算法: SHA-256
簽名演算法: SHA256withRSA, 2048 位金鑰
jar 已驗證。
警告:
此 jar 包含其證書鏈無效的條目。原因: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
此 jar 包含其簽名者證書為自簽名證書的條目。
此 jar 包含的簽名沒有時間戳。如果沒有時間戳, 則在其中任一簽名者證書到期 (最早為 2045-09-21) 之後, 使用者可能無法驗證此 jar。
簽名者證書將於 2045-09-21 到期。
C:\Users\Aso>
相關文章
- Android Studio打包apk,aar,jar包AndroidAPKJAR
- Android開發把專案打包成apkAndroidAPK
- Android Apk 打包AndroidAPK
- vue 專案打包成apk(Hbuilder方案)VueAPKUI
- uni-app專案打包成apk(本地打包篇)APPAPK
- Android Studio 打包APK遇到Error: Expected resource of type id [ResourceType]AndroidAPKError
- Android studio匯出apk檔案AndroidAPK
- Android APK打包流程AndroidAPK
- Flutter 38: 圖解 Android 打包 APK 檔案Flutter圖解AndroidAPK
- Flutter 打包 android端 apkFlutterAndroidAPK
- flutter常見問題【3】:Flutter 使用Android studio 打包生成apkFlutterAndroidAPK
- Cordova 打包 apk,html 打包 apkAPKHTML
- 簽名打包Android版apkAndroidAPK
- Android開發 —— apk打包流程AndroidAPK
- 使用Android studio建立apkAndroidAPK
- Android Studio 打包生成的 apk 安裝包裝到手機上閃退AndroidAPK
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- React Native安卓專案打包釋出APK步驟React Native安卓APK
- uni-app&H5&Android混合開發二 || 使用Android Studio打包應用APKAPPH5AndroidAPK
- Android自定義打包apk名稱AndroidAPK
- Android Studio如何釋出APKAndroidAPK
- Xamarin如何生成Android專案的APKAndroidAPK
- android 使用ANT批量打包apk步驟AndroidAPK
- 動態庫so打包到android apkAndroidAPK
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- Android 生成簽名apk與多渠道打包AndroidAPK
- 轉[Android]APK打包過程詳解(一)AndroidAPK
- 轉[Android]APK打包過程詳解(二)AndroidAPK
- Android使用Ant進行apk多渠道打包AndroidAPK
- Android Studio NDK:三、打包SOAndroid
- ReactNative專案打包(Android&&IOS)ReactAndroidiOS
- Android 專案打包到 JCenter 的坑Android
- Flutter的apk打包FlutterAPK
- android studio 打包簽名apk,完成微信和qq的的第三方分享功能AndroidAPK
- Android 自動編譯、打包生成apk檔案 3 - 使用SDK Ant方式Android編譯APK
- Python for Android,將你的Python應用打包為APK檔案PythonAndroidAPK
- Android studio 自動複製生成的 apkAndroidAPK
- Android studio gradle 打包 那些事AndroidGradle