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