標籤: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的產生和使用