如何按包名自动安装Play商店应用?

时间:2017-02-08 22:46:17

标签: android google-play adb

是否可以通过将包名称传递给adb shell中的某些活动或以其他方式(使用或不使用root)批量安装常规Play商店应用程序?

正在寻找安装APK文件,但是使用Play商店功能以com.android.chrome为其包,以静默方式(或通过确认)下载和安装应用程序。

例如,当您点击桌面版https://play.google.com上的应用的“安装”按钮时,应用程序将以静默方式下载并安装到指定帐户的所选设备。通过使用包名称调用相应的gapps活动,是否可以直接在设备上触发相同的功能?

2 个答案:

答案 0 :(得分:1)

这只是一种半自动方法,但是当我尝试重新安装之前在新手机上使用的所有应用程序时,它确实为我节省了大量时间。

我是这样做的:

  1. 将软件包名称列表保存在文件中,例如 /sdcard/pkgs

  2. 输入 adb shell 进入 shell 后,使用以下命令定义以下 shell 函数:

    g() { am start -a android.intent.action.VIEW -d "market://details?id=$1" -p com.android.vending; }
    

    此外壳函数将打开给定包的 Google Play 信息页面。例如,要打开 Chrome 的 Google Play 信息页面,您可以使用命令 g com.android.chrome

  3. 键入以下命令以交互方式安装文件 /sdcard/pkgs 中的所有应用程序:

    for p in `cat /sdcard/pkgs`; do echo $p; g $p; read; done
    

    此命令将一次打开 /sdcard/pkgs 中所有软件包的 Google Play 信息页面,除非您按 Enter 键,否则不会进入下一个应用程序。此时,您所要做的就是点击手机上的安装按钮,然后在电脑上按回车键。只要您看到“待处理”状态,您就可以继续下一个应用程序。您无需等到安装完成。

当然,步骤 3 可以通过模拟点击事件来自动化,例如,使用 input tap x y 命令。对我来说,这不值得付出努力,因为我不想处理所有异常情况(例如,在 Google Play 上不再提供应用程序或电话打入等情况下)。

答案 1 :(得分:0)

在终端中使用此abd命令进行安装: “adb install appname.apk” 成功安装后,您将收到Success消息。