Android打包簽名那點事
接觸android開發也有一段時間了,對打包簽名有所瞭解,但都是皮毛,一點不深入。今天結合網路上的資料和自己的實踐,盤點下相關內容,打消自己的一些疑問,順便做一下總結。
一:打包簽名的好處
1)沒有簽名的應用不允許安裝到模擬器或者真機上。
2)沒有簽名的或僅僅debug簽名的應用不能在Android Market上架銷售。
3)簽名是開發者的身份標識,可以防止交易抵賴的發生。
4)防止開發商或個人混淆替換已經安裝的程式,以保證簽名不同的包不被替換。
5)保證應用的無縫持續升級,簽名不同的應用不能覆蓋升級。
6)利於應用的模組化開發部署和程式間資料共享。
二:打包的模式種類及區別
有兩種打包簽名的模式:debug 和 release 。
1)通過Eclipse上的“執行”按鈕直接在手機或者模擬器上啟動程式,採用的是系統自動生成的debug簽名。通過選單 Window -> Preferences -> Android -> Build 可以看到簽名檔案所在的位置,如下圖。雖然可以更改,但個人覺得沒有任何意義,只是除錯程式而已。
注意:如果簽名過期則導致你無法生成apk檔案,此時你只要刪除debug keystore即可,系統又會為你生成有效期為一年的新簽名。
2)右擊專案->android tools->Export signed Application package 是release簽名模式,會用我們自己生成的key檔案來簽名。
3)Debug模式簽名的應用程式不能在Android Market上架銷售,它會強制你使用自己的簽名。
4)Debug模式下簽名用的證照,自從它建立之日起,1年後就會失效。
5)Debug模式的簽名檔案在不同的機器上所生成的可能不一樣,如你換機器進行apk版本升級的話,可能會出現程式不能覆蓋安裝的問題!
三:簽名其他需要了解的內容
1)Android程式包使用的數字證照可以是自簽名的,不需要一個權威的數字證照機構簽名認證。
2)數字證照都是有有效期的,Android只是在應用程式安裝的時候才會檢查證照的有效期。如果程式已經安裝在系統中,即使證照過期也不會影響程式的正常功能。
四:release模式簽名的方式
release模式簽名的方式有多種,最常用的主要兩種:Eclipse+ADT方式 和 命令列方式。
1)Eclipse+ADT方式
這個是最簡單且常用的方式,步驟如下:
A: Project -> 取消Build Automatically
B: Project -> Clean
C: Project -> Build
D: 右擊專案->android tools->Export signed Application package
第一次執行可以使用 Create new keystore,以後簽名就可以使用 User existing keystore。按照說明一步步操作即可,很容易就能打包簽名成功。
注意:請妥善保管生成的簽名檔案,不要丟失,以保證應用釋出可重複使用,以免不能進行應用的無縫持續升級。
2)命令列模式
個人覺得這個不常用,如果你想了解打包和簽名細節的話,也或者你得到了一個未簽名的APK檔案想要釋出的話,可以採用這個方式。
可通過右擊專案->android tools->Export Unsigned Application package,得到一個未簽名的程式,然後使用標準的java工具keytool 和 jarsigner 來生成證照和給程式簽名。
網路上關於 keytool 和 jarsigner 命令的教程很多,搜尋一下即可瞭解如何使用。
相關文章
- 簽名打包Android版apkAndroidAPK
- Android App的簽名打包AndroidAPP
- Android 打包簽名 從生成keystore到完成簽名Android
- Android Activity那點事Android
- Android GC 那點事AndroidGC
- android 利用shell指令碼重新打包簽名Android指令碼
- Android 生成簽名apk與多渠道打包AndroidAPK
- Android Studio 簽名打包過程圖解Android圖解
- 教你在Android自動打包解包簽名方法Android
- Gradle For Android(二) 多渠道打包與簽名配置GradleAndroid
- Gradle for Android(三)多渠道打包、配置簽名資訊GradleAndroid
- Android專案如何進行簽名打包釋出Android
- 蘋果軟體打包簽名原理蘋果
- App簽名二三事APP
- Android使用Ant自動編譯簽名打包詳解Android編譯
- 加固+美團walle簽名打包+Python一鍵打包Python
- eclipse,android studio 簽名打包,獲取MD5, SHA1(應用的簽名)EclipseAndroid
- 【Android自動化打包】03. APK的數字簽名AndroidAPK
- Android自動打包、簽名、優化、上傳ANT指令碼Android優化指令碼
- Apk 簽名的那些事APK
- Android 低功耗藍芽的那點事Android藍芽
- Android開發——說說Adapter那點事AndroidAPT
- 如何翻牆那點事兒【Android | Windows | macOS】AndroidWindowsMac
- Java synchronized那點事Javasynchronized
- 前端加密那點事前端加密
- 佈局那點事
- 面試那點事兒面試
- Android 應用簽名Android
- Android空包Apk簽名AndroidAPK
- Android簽名機制Android
- Android v1 簽名 和 v2+ 簽名Android
- cocos2d-js打包重簽名JS
- 【GoLang 那點事】gRPC 攔截器那點事,希望幫到你(六)GolangRPC
- 借騰訊開源 VasDolly,談談 Android 簽名和多渠道打包的原理!Android
- 分享一個自動編譯,打包,簽名 android apk 的小指令碼編譯AndroidAPK指令碼
- Android打包的那些事Android
- PostgreSQL的那點事兒SQL
- Webpack4那點事Web