一般在開發Android軟體的時候,會使用預設的debugkey來做簽署動作,當app要上market時就必須要產生一個專用的簽署檔案(.keystore),沒有辦法再繼續使用debugkey。這篇文章記錄怎麼產生.keystore。

其實網路上有很多分享或很多Android相關書籍都寫得很詳細,這篇文章小蛙記錄一下,免得每次要產生的時候都還要google(官方文件有很詳細的說明)。產生keystore必須透過Java的keytool工具,以下對keytool的解釋節錄自[email protected]


Keytool 是一個有效的安全鑰匙和憑證的管理工具. 它能夠使用戶使用數位簽名來管理他們自己的私有/公共鑰匙對,管理用來作自我鑒定的相關的憑證,管理資料完整性和鑒定服務.它還能使用戶在通信時緩存它們的公共鑰匙.

產生的方法很簡單,只要照著貼就可以了。

keytool -genkey -v -keystore rdss.keystore -alias rdss -keyalg RSA -keysize 2048 -validity 10000

如果這邊出現「keytool: command not found」,請把$JAVA_HOME\bin加入環境變數$PATH中,或是直接到$JAVA_HOME\bin\目錄下執行keytool,例如小蛙的環境是C:\Program Files\Java\jdk1.7.0_02\bin,就先cd C:\Program Files\Java\jdk1.7.0_02\bin之後開始輸入上面的指令。

將上述指令-keystore rdss.keystore以及-alias rdss中的rdss改成自己要的名字,其他東西照著貼上就好,-validity官方說明文件建議設定10000以上的值(指令細節可參考官方文件)。

輸入金鑰儲存庫密碼: mykeystorepassword
重新輸入新密碼: mykeystorepassword
您的名字與姓氏為何?
  [Unknown]:  Hans
您的組織單位名稱為何?
  [Unknown]:
您的組織名稱為何?
  [Unknown]:
您所在的城市或地區名稱為何?
  [Unknown]:  Taipei
您所在的州及省份名稱為何?
  [Unknown]:  Taiwan
此單位的兩個字母國別代碼為何?
  [Unknown]:  TW
CN=Hans, OU=Unknown, O=Unknown, L=Taipei, ST=Taiwan, C=TW 正確嗎?
  [否]:  Y

針對 CN=Hans, OU=Unknown, O=Unknown, L=Taipei, ST=Taiwan, C=TW 產生有效期 10,000
 天的 2,048 位元 RSA 金鑰組以及自我簽署憑證 (SHA256withRSA)

輸入 <rdss> 的金鑰密碼
        (RETURN 如果和金鑰儲存庫密碼相同):
新憑證 (自我簽署):
...
[儲存 rdss.keystore]

密碼千萬要記牢,小蛙在開發照照明星臉的時候就是忘了密碼,花了兩天的時間把所有可能的密碼都試過一次才終於式出來><(前後兩個基本上用一樣的密碼就好了,免得忘記),完成後可以看到在執行keytool的目錄下出現了一個剛剛設定的「rdss.keystore」,如此一來就完成自己的簽署檔案囉!

接下來簽署的動作可以直接透過Eclipse工具來完成,到要匯出的專案上點選滑鼠右鍵-> Adroid Tools -> Export Signed Application Package…

選擇要匯出的專案

選取剛剛產生的.keystore檔案,並且輸入密碼。

選擇alias,並輸入密碼。

設定APK產生的位置,大功告成。

產生出來的RDSS.apk就可以直接上傳到market囉!

相關文章

SSL For Free – 免費又有綠色鎖頭的 SSL Certificates

之前聽說 Google 會優先搜尋有 https 的網頁 (參考:
2016-07-07 23:00:54
hans

8

Android Vuforia with jPCT-AE (1) – 基本範例

說來慚愧,從 Google Adsense 被 ban 之後,就好久沒有發文了,站上 Vuforia 的文章也已經是好久以前的事情了 (遠目),最近有專案要用到 Vuforia,爬以前的文回來看,蛙哩咧 ... 現在已經更新到 Vu
2016-07-06 07:57:58
hans

8

ClickForce (MobiForce) 當機問題

這真是個浪費時間又漫長的過程,CF 推出新版後台以及新版 SDK 的時候,小蛙就下載來測試,一開始小蛙直接套在「我的股票精算師」上,但只要一套上去就當機 ...
2015-09-02 10:32:51
hans

8

我的股票精算師備份功能

常遇到使用者詢問「我的股票精算師」要怎麼備份,這篇記錄一下,需要寫怎麼備份表示軟體設計上有很大的問題,造成使用者使用上的困難,但小蛙最近沒有時間去做修改 ... 只好委屈精算師的使用者了 ><
2015-02-06 18:32:07
hans

8

第一次從淘寶買小米盒子3

最近阿咕有在大螢幕上看韓劇的需求,剛好搭上 Chromecast 的上市,survey 了一些 Android 電視棒。這篇記錄這幾天的經過。

2015-01-04 23:36:33
hans

8

Qualcomm Vuforia 教學 (6) – 3D model -> .obj -> .h

終於來到 Vuforia 記錄的最後一篇了,這篇參考到網路上神人的做法,怎麼把一個 3D model 轉換成 Vuforia 可以使用的 .h 檔,這邊之後都直接使用 An
2014-12-10 11:25:50
hans

8

Qualcomm Vuforia 教學 (4) – 使用 Android NDK 版本並開啟多重偵測

接續前幾篇教學,我們已經建置好 Vuforia 開發及執行環境
2014-12-09 17:10:57
hans

8

Qualcomm Vuforia 教學 (1) – 安裝 Vuforia

工作上有使用 AR: Augmented Reality
2014-12-08 18:08:50
hans

8

CentOS – Couldn’t open the /dev/ppp device: Permission denied

在不熟悉的 CentOS 6 上裝 pptpd,弄了好一陣子還是不得其門而入,原本以為是設定的問題,好不容易設定完成,debug message 卻出現「Could
2014-12-04 18:51:55
hans

8

MEMO: Eclipse export apk errors

不知道為什麼,之前 export apk 時都沒有這些問題,今天卻問題不斷,這裡記錄一下遇到的問題。

2014-06-14 22:48:25
hans

8




  3 則留言 to “簽署你的Android應用程式(.keystore)”

  1. 請問一下我有apk要上傳至play商店但出現要簽署才能放上去
    我有看到您的文章想請問您keytool這個工具要去那下載?
    好像一直都找不到這個工具,大大如果有可以傳給我嗎
    謝謝您

    • Dear kevin:

      keytool 是安裝完 JDK 之後就會存在的工具喔!
      keytools.exe 下載點
      (不確定在不同環境或不同 JDK 版本執行會不會有問題)
      建議您先確定 JDK 安裝的目錄,小蛙的新環境(Windows 8)裡面,
      keytools 目錄在 C:\Program Files\Java\jdk1.7.0_45\bin。

  2. […] Signing Your Applications Building Your Project with Gradle 簽署你的Android應用程式(.keystore) 6/25 Broadcast Receiver搞定,可以收到主流播放器的播放信息并提示打开歌词。 […]

 回覆

(required)

(required)

你可以使用以下語法 HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="">

   
© 2012 蛙齋 Suffusion theme by Sayontan Sinha