1、常用的方法是通過adb命令安裝:adb -s devicesId install -r xxx.apk
2、如果有這么一個(gè)需求:渠道包30多個(gè),要你把這些都測(cè)試一遍,你會(huì)手動(dòng)一個(gè)一個(gè)傳到手機(jī)安裝嗎?我想大部分人都不會(huì),這里提供一種遍歷安裝apk的方法。寫個(gè)通用的腳本方法,只需修改中間的某個(gè)值就可以遍歷安裝
這是我整理的一個(gè)方法:path是apk的路徑,devicesId是設(shè)備id
private static void installApk(String path,String devicesId){
? ? ? ? ? ? File file =new File(path);
? ? ? ? ? ? if (!file.exists()) {
? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? try {
? ? ? ? ? ? ? ? ? ? //打開管道,開啟可讀可寫的權(quán)限
? ? ? ? ? ? ? ? ? ? Runtime.getRuntime().exec("adb shell mount -o remount /system");
? ? ? ? ? ? ? ? ? ? //執(zhí)行強(qiáng)制安裝的命令
? ? ? ? ? ? ? ? ? ? Process exec = Runtime.getRuntime().exec("adb -s "+devicesId+"? install -r " +path);
? ? ? ? ? ? ? ? }catch (Exception ex) {
? ? ? ? ? ? ex.printStackTrace();
? ? ? ? ? ? }
? ? }
怎么實(shí)現(xiàn)多個(gè)設(shè)備都安裝呢?一個(gè)二維數(shù)組,然后循環(huán)安裝
private static String[][]info=new String[][]{{"/Users/outputs/apk/1.apk","192.168.57.101:5555"},{"/Users/outputs/apk/1.apk","192.168.57.101:5544"} };
在main方法中遍歷安裝
for ((int i=0;i<info.length;i++){
? ? ? ? installApk(info[i][0],info[i][1]);
}
擴(kuò)展:這種修改數(shù)據(jù)有點(diǎn)麻煩,一不小心就會(huì)出問題,更方便的方法是寫成excel,通過poijar包讀取excel,再遍歷執(zhí)行,以后修改只需修改excel中的信息就可以了,實(shí)現(xiàn)數(shù)據(jù)分離。
