1哥力、常用的方法是通過(guò)adb命令安裝:adb -s devicesId install -r xxx.apk
2掸哑、如果有這么一個(gè)需求:渠道包30多個(gè)窿撬,要你把這些都測(cè)試一遍蔗草,你會(huì)手動(dòng)一個(gè)一個(gè)傳到手機(jī)安裝嗎咒彤?我想大部分人都不會(huì)疆柔,這里提供一種遍歷安裝apk的方法。寫(xiě)個(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 {
? ? ? ? ? ? ? ? ? ? //打開(kāi)管道,開(kāi)啟可讀可寫(xiě)的權(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ì)出問(wèn)題故觅,更方便的方法是寫(xiě)成excel,通過(guò)poijar包讀取excel厂庇,再遍歷執(zhí)行,以后修改只需修改excel中的信息就可以了输吏,實(shí)現(xiàn)數(shù)據(jù)分離权旷。