第十六課:應用分發(基於AndroidStudio3.2)
在某些時候,您可能希望將應用程式分發給廣泛的受眾。 Android應用程式可以非常自由地分發,沒有太多限制:您可以在網站上下載它,甚至可以直接通過電子郵件將應用程式傳送給使用者,但許多開發人員選擇在谷歌等市場上釋出應用程式或亞馬遜最大化範圍。無論您打算如何分發,在向公眾釋出應用程式之前,您需要執行某些步驟,或者至少要注意這些步驟。 釋出應用程式可能是一項非常複雜的活動,並且不僅限於應用程式分發的技術和程式方面,例如在developer.android.com上建立帳戶,製作優質圖示以及簽署應用程式。它涉及建立複製和促銷文字,社交媒體活動以及許多其他技術性質的東西。本章僅關注應用程式分發的技術要求。登入將充當您的開發者帳戶的帳戶所有者的Google帳戶。
釋出應用程式大致分為兩個階段; 它們將在下面簡要討論。 1).準備應用程式以進行釋出。 在此階段,您需要清理應用程式並在釋出之前對其進行清理。 您將要刪除開發期間使用的除錯資訊,設定和日誌。 您還需要考慮應用程式的圖示和其他可視資產。 在此階段,最好在實際裝置上測試您的應用程式; 在平板電腦或手機上,或在兩者上。 最重要的是,您需要使用數字證書對應用程式進行簽名 2).釋出應用程式。 在此階段,您需要宣傳,銷售和分發它。 如果您打算在Google marketplace中釋出應用,則需要註冊釋出商帳戶並使用Google Play的開發者控制檯釋出
一、準備釋出應用程式
以下列表讓我們瞭解了我們需要考慮的事項。 1).準備材料和資產以便釋出 2).配置要釋出的應用程式 3).構建可立即釋出的應用程式
1、準備材料和資產以便釋出
應用程式不僅僅是程式程式碼。你需要開始思考應用程式圖示和應用程式的其他圖形資源,如果你想給它一點點專業的拋光。應用程式圖示可幫助使用者識別您的應用程式裝置的主螢幕。此圖示也出現在其他幾個區域,例如啟動器視窗和下載部分;更重要的是,如果您要在Google marketplace中釋出您的應用,那麼此圖示也會顯示在那裡。應用程式圖示可能在為您的潛在使用者建立第一印象時發揮重要作用,因此最好將一些工作納入其中並閱讀Google的應用程式圖示指南,可在此處找到:http://bit.ly/androidreleaseiconguidelines. 如果您要在Google的市場中釋出應用程式,需要考慮的其他事項包括螢幕截圖和促銷副本文字等圖形資源。請務必閱讀Google的圖形資產指南,可在此處找到:http://bit.ly/androidreleasegraphicassets。
2、配置應用程式以進行釋出 準備好應用程式資產後,您現在可以對應用程式的配置進行更改,以便對其進行適當的釋出。 本節中提到的內容絕不是強制性的,但在構建釋出版本之前通過它們是個好主意。
1)檢查包名稱。 在前面的章節中,您可能沒有注意到包名稱,因為我們正在構建從未打算髮布的應用程式: 當您打算在市場中釋出應用程式時,這需要更改。 軟體包名稱使應用程式在整個市場中獨一無二,一旦您決定了軟體包名稱,您將無法再對其進行更改,因此請仔細考慮。
2)刪除日誌記錄和除錯資訊。除錯和日誌記錄資訊非常有用,甚至在開發期間也是必不可少的,但是當您即將釋出應用程式時,您應該刪除所有除錯和日誌記錄資訊。除錯資訊很容易處理;您只需要刪除Manifest檔案的<application>標記中的android:debuggable屬性。遺憾的是,關於記錄資訊不能說同樣的。日誌問題有各種各樣的方法:解決方案可以像手動刪除所有日誌語句一樣簡單(但繁瑣),或者像編寫sed或awk程式一樣複雜,以自動刪除日誌呼叫。有些人通過配置ProGuard處理日誌問題(這超出了本書的範圍),而其他一些人則會使用像Timber(GitHub專案)這樣的第三方庫來取代Android的Log類。無論你採取什麼方法,都要注意你需要在構建釋出之前剝離Logstatements。
3)檢查應用程式許可權。 在開發過程中的某個時候,您可能會有對應用程式的某些功能進行了實驗,您可能已經在清單上設定了許可權,例如使用網路的許可權,寫入外部儲存等等。 檢視清單上的<uses-permission>標記,確保不授予應用程式不需要的許可權。
4)遠端伺服器和URL。 如果您的應用程式依賴於Web API或雲服務,請確保應用程式的釋出版本使用生產URL而不是測試路徑。 您可能在開發期間獲得了沙箱和測試URL; 您需要將它們切換到生產版本。
3、構建釋出就緒的應用程式
到目前為止,我們將應用程式部署到移動裝置或移動裝置的方式模擬器非常簡單:我們編寫程式碼,單擊“執行”,然後看到應用程式在目標裝置上執行。所有檔案都打包到一個APK檔案中,並且在沒有程式設計師干預的情況下進行部署。您可能不知道的是,AS3在將APK交付給目標裝置之前執行了使用證書對APK進行簽名的重要任務。但是,此證書是一個除錯證書,雖然它有利於測試,但它不適合生產使用,並且大多數應用商店(包括Google)都不接受使用除錯證書籤名進行釋出的應用程式。要分發應用程式,需要使用數字證書進行簽名,我們將使用AS3生成它。此證書無需由Verisign或Thawte等證書頒發機構簽署; Android允許我們使用自簽名證書。本節將詳細介紹如何生成已簽名的APK以及如何建立自簽名證書的步驟。
從主選單中,單擊 Build ➤ Generate Signed APK
我們還沒有JKS(Java金鑰庫)檔案; 我們將建立一個新的。 單擊“Create new …”按鈕。在下一個對話視窗中,提供所有必要資訊。
Keystore Key store path—金鑰庫的位置 Password—金鑰庫的密碼 Key Alias—該別名標識金鑰 Password—金鑰的密碼; 這與金鑰庫的密碼不同,但如果您願意,可以使用相同的密碼
Validity (years)—預設為25年; 只是接受這個預設值。 如果您想在Google Play上釋出,該證書必須在2033年10月底之前有效,因此,25年的預設值應該沒問題 Other information—只需要名字和姓氏欄位
單擊“確定”繼續下一個對話方塊。
現在已經建立了JKS檔案,隨之填充了金鑰庫對話方塊視窗。點選“下一個”。
記住APK目標資料夾; 這是您稍後可以找到生成並簽名的APK的地方。 此外,請確保構建型別設定為“release”。
完成後
此時,您有一個使用者可以在其裝置上安裝的APK檔案。 檔案“app-release.apk”,是您提交給Google’s marketplace。
二、釋出應用程式
在將應用提交到Google Play之前,您需要一個開發者帳戶。 如果您還沒有,可以登入https://developer.android.com; 然後前往Play Console。
Sign in with a Google account, read and agree to the developer agreement, and finally, proceed to payment.
完成註冊和付款後,您現在可以訪問Google Play控制檯。
您可以在此處開始將應用程式提交到商店。 單擊“建立應用程式”按鈕開始。