摘要:[android]android 上架與發佈常見問題
最常看到的三個問題
1.您上傳的 APK 是在偵錯模式中進行簽署,請在發佈模式中簽署 APK。
2.您上傳的 APK 未經簽署,請建立具有簽章的 APK。
3.您上傳的 APK 未經壓縮校準,請對您的 APK 執行壓縮校準工具,然後重新上傳。
1跟2的解決辦法ㄧ樣就是透過keytool產生一組keystore後透過android tool 匯入至指定的android project,然後會將程式與這組keystore重新打包出一個加簽後的apk檔案
3的解決辦法可以透過zipalign這個tool來幫你重新打包你加簽過的apk檔案
以下透過實際超作來詳細解說一下步驟吧(mac環境)
解決流程
-
使用keytool產生keystore
一般在開發android app的時候,如果沒有特別指定會使用預設的debugkey來做加簽的動作,而當我們要將app擺上market時就必須要產生一個專用的簽署檔案(.keystore)來置換掉原本的debugkey,如此一來才可以知道這個app的開發者是誰
這邊我們可以直接在terminal打指令keytool來確認環境是否已經有安裝好keytool這個工具,然後透過下方的指令我們就可以快速地進入產生的流程,在輸入keytool指令前我們需要先設定terminal的字元編碼(預設utf-8)將他指定到big-5,不然指令打完出來會亂碼(因為keytool的顯示是big-5),設定如下
設定完後再打開terminal輸入下面指令
$ keytool -genkey -v -keystore NSCApp_all.keystore -alias NSCApp_all -keyalg RSA -keysize 2048 -validity 10000
上面的NSCApp_all是我的app名稱這邊換成你的app名稱即可(以下是我的範例)
如此一來就會產生一組名為NSCApp_all.keystore的檔案(會儲存在你執行該指令的目錄)
-
將產生的keystore檔案透過android tool放入專案產生加簽過後的apk檔案
打開eclipse到你android的專案上按右鍵選擇Android Tool>Export Signed Application Package,選擇你剛剛產生的keystore在輸入你的密碼即可完成輸出
-
透過zipalign將加簽過的apk檔案再作一次處理
然後我們要在透過terminal打入下面指令來將剛剛產生的apk檔案做壓縮處理,執行完看到success就表示完成了
$ zipalign -f -v 4 NSCApp_all.apk NSCApp_app_googleplay.apk
-
上傳至goolge play
接下來只要到https://play.google.com/apps/publish/ 這邊選擇上傳你的最後處理完的apk檔案就完成了(大該需要等24小時左右才能完成讓連結有效)
上面的流程可以讓大家一步步地完成到上架,至於最後顯設的三個階段:發佈,BETA跟ALPHA
- 一般要正式上架的就是選發佈
- 如果是要給外部測試的就是選BETA(就是在市集上面找不到但可以透過公開連結來讓使用者使用)
- 如果是要給內部測試的話就是要選ALPHA(同BETA須透過連結邀請,且邀請人必須先設定好)
這邊稍微介紹一下ALPHA發佈階段
在這邊可以透過設定google社群(community)的功能來邀請你的社群內的使用者都參與測試
上面文字寫得蠻清楚的,你只能邀請社群,所以請輸入這個google社群的網址或名稱(如果不公開的社群名稱會找不到)就可以摟
至於為什麼不能填email個人測試勒??
其實要個人測試你直接把apk寄給他不就更快嗎!!哈哈XD
如果覺得文章還不錯麻煩請在文章最上面給予推薦,你的支持是小弟繼續努力產出的動力!