安卓app安装器(bash脚本)

2019-01-30  本文已影响12人  汶水一方

闲来无事,写了一个安卓app安装的bash脚本。在Mac OS下测试通过。

用法很简单:

./appManager.sh 要安装的app.apk

如果跟电脑连接的安卓设备上已经安装了此apk,它会提示你要不要卸载。如果没有安装的话,它会安装,安装完成后会打开。

运行脚本前,需要下载Android SDK,并在~/.bash_profile里加一行,指定aapt的路径。

alias aapt="/Users/你的用户名/Library/Android/sdk/build-tools/28.0.3/aapt"

上面的路径要根据你的情况修改。

脚本内容如下:

#!/bin/bash
if [ $# -eq 0 ] || [ -z "$1" ]
  then
    echo "No arguments supplied"
    echo "Usage: ./appManager.sh yourApk.apk"
    exit
fi

if (("$#" > 1))
then
    echo "More than one file is provided."
    echo "Please only give one file as argument"
        echo "Usage: ./appManager.sh yourApk.apk"
    exit
fi


if [[ ! -f $1 ]]; then
    echo "Your Apk file does not exist."
    exit
fi

apk=$1
packageName=`aapt dump badging "$apk" | grep package:\ name | awk '{print $2}'  | cut -d "'" -f 2`
echo -ne "Package Name of "$apk" : "
echo $packageName

packageInDevice=`adb shell pm list packages|grep $packageName|cut -d ":" -f 2`
#echo $packageInDevice


 
if [ "$packageName" = "$packageInDevice" ] ; then
    echo "This app is already installed in the device."
while true; do
    read -p "Uninstall the app now? " yn
    case $yn in
        [Yy]* ) adb uninstall $packageName; exit;;
        [Nn]* ) break;;
        * ) echo "Please type in y or n";;
    esac
done

else

while true; do
    read -p "Install the app now? " yn
    case $yn in
        [Yy]* ) adb install $apk; break;;
        [Nn]* ) exit;;
        * ) echo "Please type in y or n";;
    esac
done


fi

read -p "Start the app now? " yn
case $yn in
    [Yy]* ) adb shell monkey -p $packageName -c android.intent.category.LAUNCHER 1  > /dev/null 2>&1; exit;;
    [Nn]* ) exit;;
    * ) echo "Please type in y or n";;
esac
上一篇下一篇

猜你喜欢

热点阅读