華為云CPH服務(wù)提供 云手機(jī) 批量管理功能,該功能可以通過(guò)手機(jī)管理API將存放在OBS桶中的APK安裝文件等,批量推送或安裝到云手機(jī)中,便捷用戶(hù)操作,提升管理效率。本章節(jié)通過(guò)批量安裝APK的示例來(lái)介紹批量管理功能。
安裝和更新APK有以下兩種方式:
通過(guò)手機(jī)管理API執(zhí)行install命令進(jìn)行操作,詳情請(qǐng)參考安裝apk。
用戶(hù)先將OBS桶中的安裝包,授予讀取權(quán)限給云手機(jī)內(nèi)置賬號(hào),通過(guò)文件推送的方式進(jìn)行APK安裝和熱更新,詳情請(qǐng)參考推送文件。
約束與限制
CPH服務(wù)對(duì)批量管理風(fēng)險(xiǎn)與安全進(jìn)行如下約束:
目前支持的管理命令:
shell:在云手機(jī)設(shè)備中啟動(dòng)遠(yuǎn)程交互式shell。
install:將軟件包安裝到云手機(jī)系統(tǒng)。
uninstall:從云手機(jī)系統(tǒng)中移除軟件包。
push:將文件或者文件夾從本地設(shè)備復(fù)制到云手機(jī)設(shè)備上。
管理命令數(shù)據(jù)和指令不當(dāng),會(huì)造成云手機(jī)故障并無(wú)法恢復(fù)。
如果需要執(zhí)行install、push命令,則需要嚴(yán)格按照操作步驟進(jìn)行設(shè)置,并獨(dú)立構(gòu)建批量管理APK數(shù)據(jù)桶與其他數(shù)據(jù)隔離。
如果需要執(zhí)行install、push命令,文件必須為tar格式,壓縮的文件路徑按照AOSP(Android Open Source Project)的目錄結(jié)構(gòu)放置。
同一臺(tái)云手機(jī)服務(wù)器,文件推送任務(wù)耗時(shí)與文件推送任務(wù)個(gè)數(shù)成正比。
操作步驟
以下步驟主要演示如何創(chuàng)建用來(lái)存放文件的桶,以及如何為桶設(shè)置相關(guān)權(quán)限。安裝和更新APK的操作僅能通過(guò)調(diào)用API實(shí)現(xiàn)。
1、登錄管理控制臺(tái)。
2、在服務(wù)列表頁(yè),選擇“存儲(chǔ) > 對(duì)象存儲(chǔ)服務(wù) OBS”。
進(jìn)入 對(duì)象存儲(chǔ) 服務(wù)頁(yè)面。
3、在頁(yè)面右上角單擊“創(chuàng)建桶”,用于存放文件,如圖1所示。
圖1 創(chuàng)建批量管理使用的桶
其他參數(shù)請(qǐng)參考“創(chuàng)建桶”進(jìn)行設(shè)置。
區(qū)域:請(qǐng)選擇云手機(jī)服務(wù)器所在區(qū)域。桶創(chuàng)建完成后,不支持修改該桶所在的區(qū)域。
存儲(chǔ)類(lèi)別:請(qǐng)選擇“標(biāo)準(zhǔn)存儲(chǔ)”。
桶策略:請(qǐng)選擇“私有”。
4、單擊“立即創(chuàng)建”。
等待桶創(chuàng)建成功。
5、單擊創(chuàng)建的桶名稱(chēng),選擇左側(cè)導(dǎo)航欄的“對(duì)象”,單擊“新建文件夾”。
圖2 對(duì)象頁(yè)面
6、創(chuàng)建以“file_{project_id}_01”命名的文件夾,在“file_{project_id}_01”目錄下存放文件,如圖3所示。
其中,{project_id}為云手機(jī)服務(wù)器所在區(qū)域的項(xiàng)目ID,獲取方式請(qǐng)參見(jiàn) 如何獲取項(xiàng)目ID?。
圖3 創(chuàng)建文件夾file_{project_id}_01
說(shuō)明:
如果云手機(jī)數(shù)量較多,可以建立多個(gè)文件夾分開(kāi)做源,提升性能,如file_{project_id}_01、file_{project_id}_02。
建議文件夾以時(shí)間戳或者功能命名,方便包的管理,例如file_{project_id}_01/20190506122012/xxxx.tar。
如果擁有數(shù)十萬(wàn)臺(tái)云手機(jī),建議用戶(hù)基于OBS服務(wù)研發(fā)APP應(yīng)用市場(chǎng),實(shí)現(xiàn)APK安裝與升級(jí)。
7、選擇左側(cè)導(dǎo)航欄的“訪(fǎng)問(wèn)權(quán)限控制”,在“桶策略”頁(yè)簽中單擊下拉圖標(biāo)展開(kāi)高級(jí)桶策略,單擊“創(chuàng)建桶策略”設(shè)置桶的策略。
圖4 設(shè)置高級(jí)桶策略
8、為云手機(jī)內(nèi)置賬號(hào)授予OBS桶的只讀權(quán)限,以及下載資源“file_{project_id}_*”的權(quán)限,以便云手機(jī)通過(guò)手機(jī)管理API來(lái)實(shí)現(xiàn)文件的推送和安裝,如圖5所示。
其中,{project_id}為云手機(jī)服務(wù)器所在區(qū)域的項(xiàng)目ID。
圖5 創(chuàng)建桶策略
“策略模式”選擇“只讀模式”。
“被授權(quán)用戶(hù)”選擇“其他賬號(hào)”。
輸入云手機(jī)內(nèi)置賬號(hào)。
須知:
云手機(jī)內(nèi)置賬號(hào)必填,信息如下:
賬號(hào)ID:529375c06c6340f299819082b3051225
用戶(hù)ID:10208a4cf0944e339f523d9943ba02d3
輸入資源名稱(chēng)file_{project_id}_*。
9、在“file_{project_id}_01”文件夾下面放置需要安裝的tar包,調(diào)用手機(jī)管理API測(cè)試一臺(tái)云手機(jī),驗(yàn)證是否授權(quán)成功。