android keystore的產生和使用

來源:互聯網
上載者:User

標籤:android   http   io   使用   ar   java   檔案   sp   on   

android要求所有的程式必須有簽名,否則就不會安裝該程式。在我們開發過程中,adt使用debug keystore,在 preference->android->buid中設定。debug的keystore預設有效期間為一年,如果你是從一年前開始開發 android程式,那麼很可能出現debug keystore到期,導致你無法產生 apk檔案。我調了一下系統時間,就出現以下錯誤。此時你只要刪除debug keystore就行,系統又會為你產生有效期間為一年的私密金鑰。

   當你release時,你可以用 右擊項目->android tools->export signed android package產生簽名的包。再此過程中,如果你還沒有你自己的私密金鑰,adt會自動調用 keytool 來為你產生。請保護好你的私密金鑰,否則被人盜用的話,就用攻擊你的簽名程式了。

   release前還應注意版本號碼,在manifest.xml中有兩個欄位android:versionCode="1"和 android:versionName="1.0",其中前者是給程式或者android使用,以1遞增。後者是給使用者看的,在這裡你就可以使用主要版本 號 次版本號碼 build號燈字串。

首先,我們需要一個keystore,當然已經有了的話就不用這一步了:
cmd下:
進入到jdk的bin目錄,這樣的話,android.keystore檔案就會產生在這個目錄下,簽名的時候我們需要這個檔案
C:/Program Files/Java/jdk1.6.0_10/bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore 
輸入keystore密碼:
再次輸入新密碼:
您的名字與姓氏是什嗎?
  [Unknown]:  

您的組織單位名稱是什嗎?
  [Unknown]:  
您的組織名稱是什嗎?
  [Unknown]:   
您所在的城市或地區名稱是什嗎?
  [Unknown]:  
您所在的州或省份名稱是什嗎?
  [Unknown]:  
該單位的兩字母國家代碼是什麼
  [Unknown]:  86
CN=。。, OU=。。, O=。。, L=。。, ST=。。, C=86 正確嗎?
  [否]:  Y
輸入<android.keystore>的主密碼(如果和 keystore 密碼相同,按斷行符號):

其中參數-validity為認證有效天數,這裡我們寫的大些10000天。還有在輸入密碼時沒有回顯(儘管輸就是啦) 並且 退格,tab等都屬於密碼內容,這個密碼在給.apk檔案簽名的時候需要.

 

然後簽名:
Eclipse中,右擊需要簽名的工程-->android tools-->export signed application package...
出現下面對話方塊,選擇需要簽名的工程

next,選擇上面產生的android.keystore檔案位置和設定的密碼

next

next,選擇簽名組建檔案的位置和名稱

finish,搞定啦...

android keystore的產生和使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.