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 Activity那點事Android
- Android開發——說說Adapter那點事AndroidAPT
- App簽名二三事APP
- 如何翻牆那點事兒【Android | Windows | macOS】AndroidWindowsMac
- 加固+美團walle簽名打包+Python一鍵打包Python
- Android空包Apk簽名AndroidAPK
- Android 應用簽名Android
- Android簽名機制Android
- 蘋果軟體打包簽名原理蘋果
- Apk 簽名的那些事APK
- Android v1 簽名 和 v2+ 簽名Android
- Android之重新簽名APKAndroidAPK
- Android應用重簽名Android
- Android 檢視高度和陰影的那點事兒Android
- 佈局那點事
- 前端加密那點事前端加密
- 作用域那點事
- 遞迴那點事遞迴
- Java synchronized那點事Javasynchronized
- Android 多包名打包應用Android
- 【GoLang 那點事】gRPC 攔截器那點事,希望幫到你(六)GolangRPC
- Android app 線上更新那點事兒(適配Android6.0、7.0、8.0)AndroidAPP
- vue元件的那點事Vue元件
- 跨域的那點事跨域
- 面試那點事兒面試
- Webpack4那點事Web
- PostgreSQL的那點事兒SQL
- QQ申訴那點事
- MySQL的timeout那點事MySql
- Java 物件頭那點事Java物件
- 聊聊 Kafka Consumer 那點事Kafka
- Android加固之後Apk重簽名AndroidAPK
- Xamarin Android使用自簽名證書Android
- Flutter FocusNode 焦點那點事-(一)Flutter
- 安卓簽名檔案打包錯誤 Invalid keystore format安卓ORM
- 檔案下載那點事
- js關於物件那點事JS物件
- SpringCloud微服務的那點事SpringGCCloud微服務