歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android開發教程:簽名與發布應用程序

要想使Android應用程序在真機上運行,需要對apk(Android 應用程序的執行文件,相當於Symbian 程序的sis/sisx 或 Java ME 程序的 jar 文件)文件進行簽名,可以通過命令行或ADT插件方式對apk文件進行簽名.

一  首先介紹使用命令行方式進行簽名,使用命令行方式進行簽名需要JDK中的兩個命令行工具,keytool.exe 和 jarsigner.exe.

可按如下兩步對 apk 文件進行簽名:

(1)  使用keytool 生成專用密鑰 (Private  Key)文件

(2) 使用jarsigner 根據keytool 生成的專用密鑰對apk文件進行簽名。

生成專用密鑰的命令如下:

keytool -genkey -v -keystore  androidguy -release.keystore  -alias androidguy  -keyalg RSA -validity  30000

其中 androidgu-release.keystore   表示要生成的密鑰文件名,可以是任意合法的文件名.  android表示密鑰的別名,後面對  apk 文件簽名時需要用到。RSA 表示密鑰算法,30000表示簽名的有效天數。

在執行上面的命令後,需要輸入一系列的信息。這些信息可以任意輸入,但一般需要輸入一些有意義的信息。下面是作者輸入的信息:

在輸入完上面的信息後,在當前目錄下會生成一個androidguy-release.keystore 文件,這個就是專用密鑰文件

緊接著使用 jarsigner 命令對apk文件進行簽名,首先找到要簽名的apk文件,運行命令行進入該目錄,將剛生成的androidguy-release.keystore 文件復制到該目錄中,最後執行以下命令:  jarsigner -verbose -keystore androidguy -release.keystore iTracks_work.apk androidguy

其中 androidguy 表示使用keytool命令keytool 命令指定的專用密鑰文件的別名,  必須指定.在執行上面的命令後,需要輸入使用keytool 命令設置的 keystore 密碼和  的主密碼.如果這兩個密碼相同,在輸入第2個密三時只需按回車鍵即可(需要注意的是,輸入的密碼是不回顯的)。如果密碼輸入正確,jarsigner命令會成功對 apk文件進行簽名。簽名完成後,apk文件會比未簽名時大了一些.

二 使用ADT插件方式進行簽名

在Eclipse 環境可以直接對 apk文件進行簽名,在工程右鍵菜單中單擊[Android Tools] > [Export Signed Application Package...] 菜單項,打開[Export Android Application]對話框,並

在第一頁輸入要導出的工程名,選擇後進入下一步,進入輸入密鑰文件的路徑([Location] 文本框)和密碼, 注意:我這裡是使用了已存在的密鑰文件,如下面兩個圖:

接下來設置密鑰別名等簽名信息和要生成的apk文件名,如圖

在完成上面的設置後,單擊 [Finish] 按鈕生成被簽名的 apk  文件,查看生成的文件後會發現,除了生成iTrack_work3.apk文件外,還生成了一個private_keys 文件,這個文件就是密鑰文件.下次再簽名時可以直接選擇該文件.

Copyright © Linux教程網 All Rights Reserved