android中怎樣將自己的應用程序的簽名改為系統簽名壹樣
不管是模擬器還是真實手機。因此,在設備或者是模擬器上運行調試程序之前,必須為應用程序設置數字簽名。 所有的程序都必須簽名,沒有被簽名的程序,系統將不能安裝。 可使用自簽署證書簽署應用程序,無須授權憑證。系統僅僅會在安裝的時候測試簽名證書的有效期,如果應用程序的簽名是在安裝之後才到期,那麽應用程序仍然可以正常啟用。可以使用標準工具-Keytool and Jarsigner-生成密鑰,來簽名應用程序的.apk文件。 Android SDK 工具可以在調試時給應用程序簽名。ADT插件和Ant編譯工具都提供了兩種簽名模式-debug模式和release模式 debug模式下,編譯工具使用JDK中的通用程序Keytool通過已知方法和密碼創建秘鎖和密鑰。每次編譯的時候,工具使用debug密鑰簽名應用程序的.apk文件。因為密碼是已知的,工具 不需要在每次編譯的時候提示輸入密鎖和密鑰。 當應用程序調試完畢準備要發布release版本時,可以在release模式下編譯。release模式下,編譯工具不會將.apk文件簽名。需要自己用Keytool生成密鑰和密鎖,再用JDK中的Jarsigner工具給.apk文件簽名。簽名基本設置 首先設置JAVA_HOME環境變量,告訴SDK如何找到Keytool,或者可以在Windows 系統環境變量PATH變量中添加Keytool的JDK路徑。 在發布release版本時,從Package面版上按選中妳的project,按鼠標右鍵,依次選擇Android Tools、Export Application Package。或者可以點擊Manifest Editor,overview 頁面上的“Exporting the unsigned .apk”連接 ,導出未簽名apk文件。保存.apk文件後,用Jarsigner及自己的密鑰給apk文件簽名,如果沒有密鑰, 可以用Keystore創建密鑰和密鎖。如果已經有壹個密鑰了,如公***密鑰,就可以給.apk文件簽名了。 也可以把上面這個完整的步驟寫成壹個bat文件,這樣需要簽名的時候只要運行這個bat就可以了。下面給出壹個完整的bat文件示例: @Rem android簽名程序 //註釋指令 @Rem echo是顯示指令 格式:echo [{onoff}] [message] @echo ********************************************************** @Rem 文件是否存在命令格式:if exist 路徑+文件名 命令 @if exist d:sign/MyFirstApp.keystore goto sign @echo 創建簽名文件MyFirstApp.keystore @Rem keytool命令格式:-genkey產生簽名 -alias別名 -keyalg加密算法 -validity有效天數 -keystore生產簽名文件名稱keytool -genkey -alias MyFirstApp.keystore -keyalg RSA -validity 40000 -keystore MyFirstApp.keystore @echo 開始簽名: @Rem jarsigner命令格式:-verbose輸出詳細信息 -keystore密鑰庫位置 -signedjar要生成的文件 要簽名的文件 密鑰庫文件 jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore @goto over :sign @echo 開始簽名:jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore :over @echo ********************MyFirstApp.apk 簽名完成*********************** pause 以上是壹個給應用簽名的完整bat文件,在運行這個bat文件時,還需要按照屏幕提示的步驟輸入壹些必要信息,最後生成壹個簽名後的文件是:MyFirstApp_signed.apk。