上傳APK文件到Google Play
上傳APK擴(kuò)展(.obb)文件
安排應(yīng)用程序的alpha、beta或產(chǎn)品發(fā)布
這包括將現(xiàn)有的應(yīng)用程序移動(dòng)到不同軌道的構(gòu)建步驟
生產(chǎn)應(yīng)用程序的分級(jí)部署
為各種語言分發(fā)發(fā)布說明到上傳的文件
如果由于某些原因配置不好,或上傳應(yīng)用程序失敗,改變構(gòu)建結(jié)果
每一個(gè)配置段都支持變量擴(kuò)展,允許動(dòng)態(tài)生成的發(fā)布說明
結(jié)合Google OAuth Plugin,所以憑證可以一次性地進(jìn)入全局和工作之間的共享
版本1.565.1或以上。
僅為了初始設(shè)置,你必須能夠登入擁有Google Play發(fā)布賬號(hào)的谷歌帳戶。
注意:僅有管理員權(quán)限是不夠的;你必須是帳戶的所有者。
你可以在Google Play開發(fā)者控制臺(tái)是通過 Settings → User accounts & rights查看帳戶的所有者是誰。
任何上傳的APK將由Google Play立即發(fā)布;它們不會(huì)處在遴選或掛起狀態(tài)
上傳的應(yīng)用程序必須已經(jīng)在Google Play中存在;你不能使用API上傳新的應(yīng)用程序
盡管你只是上傳alpha 或 beta版本的應(yīng)用程序,你仍然需要為Jenkins提供 Manage Production APKs 許可
下面的這個(gè)視頻顯示了初始安裝過程: https://www.youtube.com/watch?v=txdPSJF94RM
通過Jenkins插件管理器安裝這個(gè)插件。
如果進(jìn)行手動(dòng)安裝,確保 Google OAuth Plugin及其依賴項(xiàng)已經(jīng)安裝。
為了使自動(dòng)訪問你的Google Play帳戶,你必須創(chuàng)建一個(gè)服務(wù)帳戶:
1、作為所有者登錄到Google Play開發(fā)者控制臺(tái)
2、選擇設(shè)置→API訪問
3、點(diǎn)擊“創(chuàng)建新的項(xiàng)目”
4、建立新項(xiàng)目后,點(diǎn)擊“創(chuàng)建服務(wù)帳戶”
5、鏈接到谷歌開發(fā)者控制臺(tái)
6、創(chuàng)建一個(gè)新的OAuth客戶端ID
7、選擇服務(wù)帳戶類型
8、要注意到一個(gè).p12文件已經(jīng)下載,可能會(huì)命名為“Google Play Android Developer-xxxxxxxxxxxx.p12”
9、復(fù)制創(chuàng)建服務(wù)帳戶的電子郵件地址
1、返回Google Play開發(fā)者控制臺(tái)頁面
2、在對(duì)話框上點(diǎn)擊 “完成”
3、請(qǐng)注意,服務(wù)帳戶與Google Play發(fā)行帳戶關(guān)聯(lián)
4、單擊帳戶的“授予訪問權(quán)限”按鈕
5、至少確保下列權(quán)限啟用:
編輯存儲(chǔ)列表、定價(jià)和分銷
管理制作的APK
管理Alpha和Beta APK
6、點(diǎn)擊“添加用戶”
7、現(xiàn)在你可以登錄Google Play發(fā)行帳戶了
1、導(dǎo)航到你的Jenkins實(shí)例
2、從Jenkins的側(cè)邊欄選擇“證書”
3、選擇一個(gè)證書域并點(diǎn)擊“添加證書”
4、從“類”下拉列表,選擇“谷歌服務(wù)帳戶密鑰”
5、輸入證書名稱——實(shí)際值是不重要的
6、選擇“P12密鑰”類型
7、上傳由谷歌開發(fā)者控制臺(tái)下載的.p12文件
8、點(diǎn)擊“OK”創(chuàng)建證書
為了將應(yīng)用程序發(fā)布到Google Play,Jenkins需要證書和權(quán)限。
以下設(shè)置過程在這個(gè)視頻中演示:https://www.youtube.com/watch?v=iu-bLY9-jkc
1、創(chuàng)建一個(gè)新的自由形式的軟件項(xiàng)目
2、通過你的需求建立步驟,確保你想上傳的這個(gè)APK在建立的工作空間是可用的
3、編譯后添加“上傳的Android APK到Google Play”
4、從下拉列表中選擇證書名稱
5、輸入路徑和/或通配符指向上傳的APK或多個(gè)APK
6、選擇跟蹤到應(yīng)當(dāng)配置的APK
7、選擇“添加語言”到將發(fā)布的說明以及上傳的APK
你可以選擇為上傳的每個(gè)APK增加兩個(gè)擴(kuò)展文件。
擴(kuò)展文件列表可以以與的應(yīng)用程序相同的方式指定,但注意,它們必須以[main|patch].
如果你已經(jīng)上傳一個(gè)應(yīng)用程序到alpha軌道(例如),你可以在以后使用Jenkins重新分配該版本為beta版或產(chǎn)品發(fā)布軌道。
根據(jù)工作配置的“構(gòu)建”章節(jié),增加了“移動(dòng)AndroidAPK到不同發(fā)布軌道”的設(shè)置步驟,和配置新的發(fā)布軌道。
你可以通過告訴Jenkins 哪一個(gè)APK需要移動(dòng)或直接輸入APK版本代碼,或通過提供APK文件,該插件會(huì)為你讀取申請(qǐng)ID和版本代碼。
如果你是擴(kuò)展文件的用戶,特別是如果你使用多個(gè)APK情況下,這將有助于了解你如何正常地使用擴(kuò)展文件,且無論什么樣的插件都提供了足夠的信息。 你通常會(huì)為每個(gè)應(yīng)用程序的擴(kuò)展做獨(dú)立的主/補(bǔ)丁文件嗎?或者它是更常見的所有APK共享相同的擴(kuò)展文件嗎?
目前來說,當(dāng)試圖從現(xiàn)有的應(yīng)用程序中重新利用擴(kuò)展文件時(shí)(沒有明確地指定那些來自于舊APK的擴(kuò)展文件需要與新上傳的APK一同重新使用),前者的情況下是不合適的。
通過在頁面頂部的電子郵件告訴我們!
來自于插件的錯(cuò)誤信息(其中許多都直接來自于Google Play API)應(yīng)當(dāng)一目了然。
如果你獲得特定配置工作中遇到了麻煩,請(qǐng)嘗試手動(dòng)上傳相同的APK到Google Play。這樣你可能就會(huì)看到失敗的原因,例如版本代碼沖突或類似。
或者,請(qǐng)給我們發(fā)送錯(cuò)誤報(bào)告或包含有相信信息的郵件,包括構(gòu)建控制臺(tái)日志輸出;在頁面頂部的信息框內(nèi)查看我們的聯(lián)系信息。
使用Android Gradle構(gòu)建系統(tǒng)的構(gòu)建風(fēng)格特點(diǎn),它可能是有一個(gè)單一Android構(gòu)建產(chǎn)生多個(gè)APK,每一個(gè)APK有一個(gè)不同的應(yīng)用ID。
例如,你可以有應(yīng)用程序ID“com.example.app”和“com.example.app.pro”分別為免費(fèi)和付費(fèi)版本。
這些往往是建立在一個(gè)單一的Jenkins的工作中,有人想知道為什么這個(gè)插件將拒絕上傳的在一個(gè)單一的工作中具有不同應(yīng)用ID的APK。
然而,就Google Play所考慮的方面而言,這些都是完全獨(dú)立的應(yīng)用程序。這是正確的,因此應(yīng)該在單獨(dú)的Jenkins構(gòu)建(每一個(gè)應(yīng)用ID)上傳。
如果您想嘗試在一個(gè)Jenkins構(gòu)建中上傳完全不同的APK(比如三個(gè)),這就需要用Google Play API開放和提交三個(gè)獨(dú)立的“編輯會(huì)話”。如果其中任何一個(gè)失敗——也許是因?yàn)橐粋€(gè)無效的APK,或由于一個(gè)API失?。ú恍业氖?,使用Google Play API過程中這種情況并不少見)——你將使你的Google Play帳戶處于不一致的狀態(tài)而結(jié)束。您的構(gòu)建將被標(biāo)記為失敗,但有一個(gè)或多個(gè)應(yīng)用程序?qū)嶋H上已經(jīng)上傳并發(fā)布到Google Play,所以你就必須手動(dòng)修復(fù)這種情況。此外,你將不能僅進(jìn)行重新運(yùn)行構(gòu)建,因?yàn)檫@將由于已經(jīng)存在的APK而失敗。
在這種情況下的最佳方法是有一項(xiàng)工作構(gòu)建不同的風(fēng)格(即APK使用不同的應(yīng)用程序ID),然后,如果構(gòu)建成功,這將存檔的APK和啟動(dòng)多個(gè)“下游”Jenkins構(gòu)建,這將單獨(dú)發(fā)布的每個(gè)應(yīng)用程序。
即“上傳”的工作可能是通用的,可以通過參數(shù)接收APK的信息。
待辦事項(xiàng): 提供更多關(guān)于如何設(shè)置的信息。