當應用準備好對外發布, 必須: shell
若是使用Eclipse+ADT插件進行開發, 可使用Export Wizard來處理整個的編譯, 簽名, 和優化過程. 在處理過程當中, Export Wizard甚至容許生成一個新的keystore和私鑰. 安全
在給應用程序簽名的準備階段, 必須首先確保有一個用於簽名的合適的私鑰. 合適的私鑰有以下要求: 工具
密鑰能夠是自簽名的. 若是沒有一個合適的密鑰, 必須使用Keytool生成一個. 優化
爲了向用戶發佈應用程序, 必須在release模式編譯. 在release模式下, 編譯好的應用程序默認是沒簽名的, 須要用私鑰爲它簽名. spa
警告: 不能發佈一個沒有簽名或者用debug key簽名的應用程序. 插件
要從Eclipse導出一個未簽名的 .apk, 在Package Explorer中的project上點擊鼠標右鍵, 選擇Android Tools > Export Unsigned Application Package. 而後給未簽名的.apk指定一個文件路徑. (或者在Eclipse中打開AndroidManifest.xml文件, 點開Overview標籤, 而後點擊Export an unsigned .apk.) 命令行
注意, 徹底能夠在Export Wizard中執行整個的編譯和簽名步驟. 參見: 使用Eclipse ADT編譯和簽名. debug
若是使用Ant, 能夠經過ant命令行的release選項開啓release模式. xml
若是使用Eclipse和ADT插件, 能夠用Export Wizard來導出一個簽名的.apk(若是必要,甚至能夠建立一個新的keystore.) Export Wizard爲你處理全部Keytool和Jarsigner的交互操做, 這容許使用一個GUI界面來操做簽名包的過程, 而沒必要人工處理各類編譯, 簽名, 以及優化對齊工做. 一旦嚮導編譯並簽名完.apk包, 它將也使用zipalign對包進行優化對齊處理. 由於Export Wizard使用到Keytool和Jarsigner, 應當確保在電腦上能夠訪問到這2樣工具. 生命週期
若要在Eclipse中建立一個簽名並優化對齊後的.apk:
對於你和你的用戶來講, 維護你的私鑰的安全至關關鍵和重要. 若是你容許別人使用你的key, 或者若是你將keystore和密碼放在一個不安全的地方, 以致於第三方能夠找到並使用它們, 那麼你的做者身份和用戶信任度將受到連累.
若是第三方在你不知情或沒獲得你的容許的狀況下控制和使用你的key, 那麼隨便一我的就均可以簽名和發佈惡意的應用程序來替換你發佈的應用, 或者乾脆取代你的應用. 而後這我的能夠用你的身份簽名和發佈應用程序, 攻擊其餘應用甚至直接攻擊系統, 以及損壞或偷取用戶數據.
開發者(或團體)的名聲取決於你對你的私鑰的適當保密, 任什麼時候候, 直到key過時. 下面是一些保證key的安全性的小提示.
一般狀況下, 當生成,使用和保存你的key時, 若是根據常識作了提早的預防, 那麼它將會保證安全.