Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android打包簽名那點事

Android打包簽名那點事

編輯:關於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 命令的教程很多,搜索一下即可了解如何使用。



 
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved