Android SDK上手指南:應用程序發布
譯文介紹
在今天的文章中,我們將重點探討通過Google Play軟件商店進行應用程序發布,不過如果愿意、大家也可以深度其它一些發布途徑。要通過Google Play商店進行應用程序發布,我們需要注意一些必要條件;不過如果通過其它途徑發布則有可能無需考慮這些前提。但我個人建議大家認真了解這些內容,并盡可能在任何發布方式當中都嚴格貫徹這些***實踐方案。
1.準備工作
在我們考慮發布一款應用程序之前,首先要完成的就是全面的調試與測試工作,其中包括確保應用能夠在各類不同配置的設備上正常運行。此外,大家還應該注意其它一些前提性事項。首先,如果我們的Java代碼當中包含任何日志聲明或者其它用于輸出調試信息的調用內容,請務必在發布之前將其從應用內移除。
如果大家的清單文件當中包含androi:debuggable屬性集,則需要在發布應用程序之前將其移除。我們的清單版本屬性還需要經過合理配置,我將在后續內容中進一步解釋該話題。大家要確保自己的應用程序資源正確包含在軟件包文件夾里,例如drawables等指向配置信息的媒體條目。如果大家的應用程序需要使用數據庫之類資源,則必須確保其經過合理調整。
如果大家的應用程序在運行中需要使用某種程度的權限,則必須在manifest當中利用uses-permission元素將其添加進來。為了順利實現應用發布,大家還需要在manifest應用程序元素中設置應用圖標以及標簽屬性。我們在清單當中列出的大部分條目都將與Google Play軟件商店的應用列表內容相對應。
2.版本管理
我們在之前的文章當中已經提到過,大家需要為自己的應用程序設置一個版本號并為其命名。說起版本號,這部分信息應該被包含在根manifest元素中manifest下的android:versionCode與android:versionName屬性當中。
其中versionCode屬性應該為一個整數,且每一個應用程序新版本分配到的數字都需要比前一個更大。從邏輯角度講,大家應該以1為初始版本號,并在每一次推出新版本時逐漸遞增該數值;不過大家也可以隨意選擇自己想要的數字,只要比上一個版本數值更大即可。終端用戶無法看到應用程序的版本代碼值,該數值僅用于在發布過程中衡量應用程序的當前版本號是否比原先已經安裝的版本更新。
不過versionName屬性則不同,它是一個可被終端用戶查看的字符串。版本名稱并不需要一定與版本代碼相匹配,但從邏輯上講其同樣應該遵循遞進關系。舉例來說,從1.0開始,接下來應該是1.1,當我們發布的新內容更新幅度較大時則將其提升為2.0。換句話來說,版本名稱應該能夠幫助終端用戶理解應用版本的先后順序。如果大家有計劃為自己的應用程序發布多個版本,則***花點時間來考慮怎樣的版本名稱最適合反映自己的升級進程。
3.簽名
***步
要在Android系統上安裝一款應用程序,該應用必須利用具備私有密鑰的證書進行簽名驗證。在我們的開發過程中,Eclipse與Android SDK會自動利用調試密鑰完成應用程序的簽名過程,但大家無法通過這個調試密鑰進行應用程序發布。在Android應用程序的創建過程中,系統會選擇debug或者release兩種模式之一進行創建。在release模式下,大家需要利用自己的私有密鑰完成應用程序簽名。
大家也可以利用keytool程序為自己的應用程序生成一個密鑰,我們可以在Java Development Kit(或者簡稱為JDK)當中找到該程序。各位可以 點擊此處 查看keytool說明文檔以了解更多詳細情況。在為我們的私有密鑰創建了keystore之后,大家即可選擇alias name以及password,從而在日后進行應用程序簽名時加以使用。
第二步
當我們已經準備好了應用程序簽名所必需的key/keystore之后,正面要做的就是為其創建一個發布版本。在Eclipse當中,通過Package Explorer選中自己的應用程序項目,右鍵點擊該項目或者選擇“File”、“Export”。展開其Android文件夾后,選擇“Export Android Application”并點擊“Next”。
接下來,Eclipse將突出顯示創建過程中所遇到的全部錯誤信息,我們需要將其一一解決才能繼續進行下一步。如果整個過程沒有出現錯誤,大家可以直接點擊“Next”以繼續。在Keystore Selection容器中,瀏覽至我們的keystore文件并為其輸入密碼。接下來,從菜單中選擇我們為密鑰指定的alias并輸入自己設定的密碼內容。當一切準備就緒之后,點擊“Next”進入下一步。
選擇一個位置并為我們應用程序的APK文件指定一個名稱。該APK文件也就是我們將要上傳到Google Play商店中的文件,用戶在安裝過程中需要將其下載到自己的設備上并加以運行。Eclipse會利用正確的密鑰與驗證機制處理應用程序簽名。在點擊“Finish”之后,該APK文件就會出現在大家所選定的保存位置。現在我們應該已經可以將該APK文件復制到Android設備上了。在復制工作完成之后,利用文件管理器應用選擇該APK文件,并依據說明進行安裝。只要應用程序簽名一切正常,則系統應該能夠順利安裝該應用、供大家在設備上運行所發布版本的應用程序了。
請確保我們的發布密鑰受到嚴格保護,因為只有使用同一套密鑰、大家才能在為同一軟件包發布更新內容。如果大家利用其它不同的驗證機制處理應用程序的更新版本,則必須使用與原先不同的軟件包名稱。
提示:在發布特定應用程序時,大家可能需要執行額外一些步驟。舉例來說,需要利用谷歌地圖庫的應用程序要求我們為Maps API設定一個專門的發布密鑰。
4.發布
在我們創建好了一個完整版APK文件之后,接下來要做的就是將應用程序發布到Google Play軟件商店當中。除了應用程序本身,我們還需要為發布過程準備一些額外資源——其中一部分***能提前準備就緒。首先,應用程序的銷售宣傳圖片以及功能描述是必不可少的,大家需要將這部分信息添加到應用程序的列表當中。我們還需要為應用程序在軟件商店中的介紹與下載界面設計說明內容,其中包括應用程序的定價(如果這是一款收費應用的話)、應用程序的內購項目以及語言設定等等。
要著手進行發布流程,我們首先需要登錄自己的谷歌賬戶并導航至Developer Console。點擊“Add New Application”并在彈出的窗口中選擇自己應用程序的默認語言、輸入應用程序名稱。從這里開始,大家就要用到之前準備好的應用程序清單并上傳我們剛剛創建好的APK文件。
相信大家已經注意到了,我們應用程序的Google Play清單會要求填寫大量細節信息,而且整個發布過程也需要一定時間。在每款應用的主清單部分,大家可以添加一部分圖形內容——例如應用圖標、應用截圖、視頻介紹、應用程序描述、功能類別、內容評級以及開發者的聯系方式等。如果各位對這些信息在Google Play中的顯示效果還沒啥概念,請直接參照商店中其它已經擺上貨架的其它應用程序。
在應用程序清單中的Pricing and Distribution部分,大家需要指定自己的應用是否需要收費或者可以免費提供給用戶。請注意,免費應用程序無法被重新修改為收費應用。不過大家可以修改收費應用的價格或者將收費應用修改為免費。我們也可以在免費應用當中設置內購機制。如果大家的應用程序適用于多個國家,Google Play會自動將我們設定的價格換算為其它貨幣單位。請大家花點時間仔細查看應用程序清單當中的其它內容,例如應用內產品以及API等。
如果大家已經在Google Play上發布一個或者多個應用程序,則可以在Developer Console當中查看各應用的當前狀態。這套控制臺為開發人員提供了非常詳盡的報告內容。我們可以對清單的統計部分進行配置,從而更準確地把握其Android版本、應用版本、國家、設備以及語言設定的運作情況。其它統計內容還包括安裝與營收報告、詳細的崩潰情況報告、評分以及用戶評論等。相比之下,蘋果的App Store還允許開發人員回復用戶評價并直接與應用程序用戶進行對話。當應用程序被擺上Google Play商店的貨架之后,大家就可以通過分享應用清單的鏈接來達到宣傳的目的。
***,在著手進行應用程序發布流程之后,請認真閱讀 Launch Checklist 中的內容。
總結
如果大家剛剛開始接觸Android平臺,那么離發布自己的***款應用恐怕還有很多長的路要走。不過了解整個發布流程對于新手開發者來說仍然非常重要。應用程序的***發布可能需要花上不少時間,但一旦填寫了初始信息及描述之后,未來的更新上傳將變得很快。在本系列教程的下一部分,我們將為大家提供一些進一步學習Android開發的建議性方向。***,我們將共同面對一次小小的結業考試——通過試題驗證大家是否已經真正掌握了到目前為止介紹過的知識。
原文鏈接:
http://mobile.tutsplus.com/tutorials/android/android-sdk-publishing-and-releasing/