Search

㊗ 新的一年,祝福讀者們 2020 新年新希望!! ◆ Welcome to Laird Studio! 歡迎蒞臨萊爾德工作室! ◎ Android Studio 基礎教學籌備中,敬請期待! ☏ 對網站有任何問題或建議,都非常歡迎使用留言板或至 Facebook 粉絲團發訊息,讓我們知道您的想法 (੭ु´ ᐜ `)੭ु

2016年2月25日 星期四

[ Eclipse ] [ Android ] 如何產生 .keystore 並輸出 .apk 檔 ( with Mac OS X )





有在 Follow 我們粉絲團的朋友應該已經知道,這陣子 Laird Studio 與 Caliburn Studio 聯合企劃開發了一支名為《 Lucky X 》的 Android 抽獎 App 。

App 開發日誌的部分,會放在 Caliburn Studio 供大家「考古」...... 呃不是啦!是讓大家見證一款使用 Java 原生語言製作而成的 Android App 從無到有,甚至上架到通路商店的過程!

針對《 Lucky X 》在開發過程中碰到的一些技術問題以及解決方法,我們會發佈在 Laird Studio 網站供讀者們學習,而這篇文章正是我們分享的第二篇,並且是有關於使用 Eclipse 輸出《 Lucky X 》成 .apk 檔的完整紀錄,還請大家多多指教~


使用的作業系統版本為: Mac OS X El Capitan 10.11.3
使用的 IDE 版本為: Eclipse Mars.1


本文開始~





我們一般在 IDE 開發 Android App 時,很常會使用虛擬機或實機進行偵錯測試,但你有想過為何虛擬機或是手機可以直接安裝 .apk 檔嗎?

事實上,每一支 Android App 都需要有一個 .keystore 的檔案當作這支 App 的簽署檔案,才能夠輸出成 .apk 檔並安裝在虛擬機或手機,而在我們使用虛擬機或實機進行偵錯時, IDE 會預設產生一個 debug.keystore 以及 debugkey ,用來進行簽署的動作。

但如果你要將 App 上架到 Google Play 進行階段性測試,或是直接上架營運,這個 debugkey 就不能繼續使用,開發者必須自己另外建立一個專屬的 .keystore 來簽署 App 。

要建立一個 .keystore 要先確定自己的電腦是否已經正確安裝 JRE 以及 JDK 等相關套件,如果都確定安裝好了,就可以開啟 Mac OS X 的終端機 ( Terminal ) ,然後鍵入以下指令:

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

其中,紅字 luckyx 的部分可以更改成你想要的名字。

之後輸入兩次你想要為這個簽署檔案加上的密碼,就算幫 .keystore 加密完成囉!




再來,只要按照指示回答一些簡單的問題,就可以完成簽署了!

以下是一個範例供大家參考~

全部回答完成後,還會需要一個 key password ,此時你可以決定輸入和剛剛 keystore password 相同或不相同的密碼~



輸入完成後,系統就會產生一個 App 專屬的 .keystore 檔案囉~

Mac OS X 預設產生 .keystore 路徑為 Macintosh HD/User/yourname/

其中 yourname 就是你在電腦系統的使用者名稱~



有了 .keystore 之後,就可以開始輸出你的 Android App 了!

請開啟 Eclipse ,至 File -> Export ,然後選擇 " Export Android Application " ,按下 " Next "



選擇你要輸出的專案,像這邊就是選擇 Lucky X 這個抽獎 App 的專案~

繼續 " Next "



由於我們剛剛已經建立了一個專屬的 .keystore ,所以就可以按下 " Browse " 來尋找剛剛新增的 .keystore 。



找到後按下 " Open " ,然後輸入建立 .keystore 檔案時候設定的密碼~




如果你當初設定的 keystore passwordkey password 是一樣的,那麼這邊的密碼也會跟上面的步驟一樣~



輸入你的 .apk 檔的目的路徑後,按下 " Finish " 就會完成輸出 Android App 的動作,你就能在你輸入的路徑中看到 .apk 檔,並上架到 Google Play 囉~




2016.05.13 更新

這邊不建議所有自己或獨立團隊開發的 App 都使用同一個.keystore檔進行簽署的作業,最好是要生產每一個 App 之前,都生產各自的 .keystore 檔,並妥善保存!

*附註:所有簽署過的 .keystore 檔一定要妥善保留,要特別注意,只要 App 一上架到通路商店,所有更新的版本都必須使用當初簽署的 .keystore 檔才能夠更新,換句話說,一旦 .keystore 遺失,你就再也無法為 Google Play 商店的 App 進行版本更新了!(直到 .keystore 檔案過期,例如上圖為 2043 年)
雖然說可以透過下架該App,再建立一個商店頁面重新上架的方式解決,但這個方法不但要先更改原專案的 App ID ,而且將原來的 App 下架會連帶影響到使用者更新的不便,對品牌信譽大大減分,千萬不要拿自己嘔心瀝血的作品以及經營許久的品牌開玩笑!





如何在 Mac OS X 產生 .keystore 並使用 Eclipse IDE 輸出 .apk 檔的教學就到這邊~

希望對你有幫助~

我們下次見~



你可能會有興趣的文章:

[ Eclipse ] [ Mac OS X ] 如何在 Mac OS X 安裝 Eclipse 開發環境 ( IDE )

[ Eclipse ] [ Android ] 如何在 Eclipse 建置 Android 開發環境 ( with Mac OS X )

[ Eclipse ] [ Android ] 在 Eclipse 執行你的第一個 Android App ( with Mac OS X )

[ Eclipse ] [ Android ] 如何在 AVD 模擬器安裝 APK 程式 ( with Eclipse )

[ Eclipse ] [ 疑難排解 ] 解決 Eclipse IDE 更新版本後,開啟舊專案出現的錯誤訊息 ( with Mac OS X )

[ AdMob ] [ Eclipse ] 如何在 Android App 加入 AdMob 測試廣告橫幅 ( with Mac OS X )