美文网首页
ADB 为批量设备安装批量APK

ADB 为批量设备安装批量APK

作者: xiaodouyaer | 来源:发表于2021-04-06 17:49 被阅读0次

    故事背景:公司要批量测试一批开发板,并且每个板子装多个app,考虑到要做很多重复工作,于是就查询相关的批量操作代码,CS某N有一个,不过是基于linux系统的,并且,收费,我就很气愤,(再次吐槽一下CS某N,文章都是大家写的,文件都是大家传的,你用得着收那么高的费用吗?滋生那么多文件搬运工是不是你们的责任啊?)于是我就自己折腾两天整了一个,测试了一下,效果很不错。有需要的直接拿走。

    
    @echo off
    echo --------------------------------------------------------
    
    echo Get devices
    adb devices > devices.txt
    type devices.txt
    
    echo -------------------------- INSTALL START ---------------------
    
    for /f  "skip=1 tokens=1 delims=    " %%i in (devices.txt) do (
    
        echo START INSTALL %%i
        for %%j in (*.apk) do (   
                echo INSTALLING: %%j TO DEVICE  %%i
                adb -s %%i install -r %%j
        )
    
    )
    
    del devices.txt
    echo --------------------------- INSTALL END ----------------------
    pause
    
    

    对以上代码做个解释哈
    1、读取当前连接的设备列表,并存入文件,待后续使用(adb devices > devices.txt),type devices.txt 只是在预览一下读取到的设备列表,不想看可以不要;
    2、从devices.txt 读取设备列表,for后面的 /f 表示后面从devices.txt文件中读取内容,如果没用 /f 那么读取的结果就是 devices.txt ,也就是文件名;
    3、截取字符集,skip=1是跳过第一行,delims后面是一个tab符,表示以tab符分割指定字符串,tokens=1意思是取以tab符分割后的元素的第一列,比如:

    List of devices attached
    0123456789ABCDEF        device
    2884W180540051  device
    

    上面就是我的设备列表。skip=1,就会从第二行开始处理,delims=tab符,得到的结果如下:

    ----------------------|-------------------------------
    0123456789ABCDEF      |          device
    ----------------------|-------------------------------
    2884W180540051        |          device
    ----------------------|-------------------------------
    

    分成了两行两列,tokens=1就是取第一列,刚好就是我们要的设备序列号集合,然后就是遍历它。

    相关文章

      网友评论

          本文标题:ADB 为批量设备安装批量APK

          本文链接:https://www.haomeiwen.com/subject/tszskltx.html