longforus 发表于 2021-11-23 17:30

双击安装Apk,可选目标设备的小脚本

在逆向或者开发的时候经常需要安装Apk到设备,一般都用`adb install z:/xxx.apk`进行安装,如果adb只连了一个设备还好,要是多连了几个就麻烦了,需要`adb -s 设备号 install z:/xxx.apk`来进行安装,设备号或者是`IP:端口`还一长串,要么直接手输,要么先`adb devices`进行复制,非常的不方便.有了这个小脚本就方便了,如果只连了一个设备双击就可以直接安装,如果有多个设备则只需要多输入一个代表index的数字就可以了,还是很方便的.

## 环境

- win11
- Git
- adb

## 脚本

### apkInstall.sh

```shell
# source ~/.bash_profile
echo "$1"
cmdRes1=`adb devices -l`
array=(${cmdRes1//n/ })#用\n来分开
index=1
dev="device"
da=()
dArrayIndex=0
for var in ${array[@]}
do
   if [ "$var" == "$dev" ];then
      da=${array} #找到设备号
      # echo "[ =${da}=$index   $dArrayIndex ]"
      let dArrayIndex+=1
   fi
   let index+=1
done
run=""

if [ -n "${da}" ];then
       echo "***************** has more than one device ****************"
       for var in ${da[@]}
      do
      echo $var
      done
    echo "************* input index select target device **************"
    read -p "input index to install or enter install to device 0 : " target
    echo -e "\n"
    if [ -n "${target}" ];then
      if [ ${target} -gt 0 ] 2>/dev/null ;then
            if [ ${target} -gt ${dArrayIndex} ];then
                echo "$target out of range!!!    wow~ ⊙o⊙"
                target=0
            fi
      else
            echo "input is not number!!!   O__O \"…"
            target=0
      fi
       echo -e "(((((((((((っ・ω・)っ Σ(σ`・ω・′)σ 起飞! start install to ${da}\n"
       run=`adb -s ${da} install -r $1`
    else
      echo -e "(((((((((((っ・ω・)っ Σ(σ`・ω・′)σ 起飞! start install to ${da}\n"
      run=`adb -s ${da} install -r $1`
    fi
else
    echo -e "(((((((((((っ・ω・)っ Σ(σ`・ω・′)σ 起飞! start install to only device :${da}\n"
    run=`adb install -r $1`
fi
echo -e "$run \n"
echo -e "(^・ω・^ )( ^・ω・^)Install Complete(^・ω・^ )( ^・ω・^)"
```

### adbInstall.bat

win上如果直接使用.sh脚本作为apk的默认打开方式的话,会提示此应用无法在你的电脑上运行.所以需要一个额外的.bat文件来启动.linux和mac的话是不需要的,但是我工作电脑是win,这2个系统就没有测试了,按道理来说,顶多改改就能用.

```bat
C:\Git\git-bash.exe D:\MyDocuments\Desktop\apkInstall.sh %1
```

## 使用

右击apk文件,`打开方式`->`选择其他应用`,`更多应用`->`在这台电脑上选择其他应用`,找到`adbInstall.bat`打开,并勾选`始终使用此应用打开.apk文件`.就大功告成了.

以后使用直接双击apk文件即可.

![在这里插入图片描述](https://img-blog.csdnimg.cn/9d7a3313ecab47dc92af62b5d2015c34.png#pic_center)


会列出已经连接adb的设备,直接回车|输入0|输入不合法,都会安装到默认的第0个设备上,输入1则会安装到第1个设备上,非常的简单方便.



完了.

longforus 发表于 2021-11-24 10:12

Cacarot 发表于 2021-11-23 19:59
当年也被这困扰,好像是写了个批处理来搞定的

批处理应该都可以,但是我批处理不如shell熟悉一点,所以就用shell实现了

longforus 发表于 2021-11-24 10:08

toutouxuejishu 发表于 2021-11-23 23:36
这个很可以,虽然没安装win11,后期学习试试。

不一定要win11的 ,理论上win都可以

yl0002 发表于 2021-11-23 17:45

感谢帖主分享。

yoyoma211 发表于 2021-11-23 19:03

这个有点意思的,楼主给力哈{:1_893:}

Cacarot 发表于 2021-11-23 19:59

当年也被这困扰,好像是写了个批处理来搞定的

wusongrong 发表于 2021-11-23 20:18

olos 发表于 2021-11-23 20:22

学习了 感谢楼主的提供

xjshuaishuai 发表于 2021-11-23 20:39

谢谢楼主分享!

dipper 发表于 2021-11-23 21:51

学习学习

toutouxuejishu 发表于 2021-11-23 23:36

这个很可以,虽然没安装win11,后期学习试试。
页: [1] 2
查看完整版本: 双击安装Apk,可选目标设备的小脚本