我想直接从桌面上批量安装apk。例如我在桌面上下载了许多apk,并且想要在不实际触摸我的android的情况下安装apk。
如何做到这一点?

评论

stackoverflow.com/questions/7076240/…+脚本:-)

#1 楼

使用adb最容易做到这一点(有关什么是ADB以及如何在计算机上获取/安装ADB的详细信息,请参见ADB标签Wiki)。由于您没有说明要在台式机上使用的操作系统,因此我写了如何在Linux(我使用过)上完成它;应该易于适应其他平台:


将所有下载的.apk文件放入一个文件夹
连接您的Android设备,并确保已识别该设备(adb devices应列出已连接的设备设备)
打开终端/命令提示符,然后转到.apk文件所在的目录
运行for file in *.apk; do adb install $file; done

监视所有已安装的应用程序,而无需任何进一步的交互: )


注意:如果您有.apk文件,它们的名称中带有“空格”,例如“ Xposed Framework”,“ Adob​​e Flash Player”等,那么您将不得不重命名它们,因为亚行无法处理。要么完全删除空格,要么替换它们,例如下划线。 Linux为此提供了一个Perl脚本(/usr/bin/rename),您可以使用该脚本:亚行可识别。

#2 楼

如果您在其他文件夹中有apk(例如使用adb pull),则可以在下面使用我的脚本:

for /r %f in (*.apk) do adb install -r "%f"

只需在所有APK文件上方的文件夹中运行它它将递归并安装所有它们。

评论


我尝试了此操作,并得到此C:\ Users \ AndroidApps> adb安装“ C:\ Users \ username \ Downloads \ AosApp \ AppName.apk”“ adb”未被识别为内部或外部命令,可操作程序或批处理文件。

– Sujay U N
17年3月13日在10:25

@SujayUN好的,用引号将adb替换为您的adb.exe的直接路径,这应该可以工作。

–刻纹
17 Mar 14 '17 at 10:20

#3 楼

对于Windows,请打开命令行:

set PATH=%PATH%;C:\path_to_your_platform-tools\


然后

for %e in (*.apk) do adb install %e


#4 楼

因此,您有一个问题,要安装大量的应用程序,而没有执行类似Titanium Backup或其他备份-还原应用程序的备份。但是,一个接一个的安装,确认和等待将永远花费,不要介意它是如此乏味!

我试图找到一个可以做到的应用程序来节省我的精力,但是在尝试了之后所有,他们都没有工作。所以我一步一步地做,花了很长时间,所以我决定只用ADB来做。您可以使用ADB解决此问题。您可能不知道如何使用ADB,所以我将在此处编写完整说明。不用担心,这很容易。

如何在Windows中进行操作:

在手机上,


请确保您的手机的驱动程序已安装。例如,三星驱动程序或LG驱动程序构成了制造商的网站。
进入Settings > Developer Options(单击Settings > About Phone > Software > Build Number 7次以激活开发人员模式)
打开USB Debugging

关闭Verify apps over USB

通过USB电缆将手机连接到计算机。
在手机上,选择允许USB调试的弹出窗口。如果您没有看到它或错过了它,只需关闭并重新打开USB调试,如果您的手机已连接,它应该会再次弹出。

现在您可以进行下一步了。

在Windows计算机上:


下载Android SDK平台工具

platform-tools文件夹提取到计算机中。我建议您使用C:驱动器的根目录,以便它位于C:\platform-tools\

获取要批量安装的所有APK文件,并将其放入文件夹中,并将其放入Platform-tools文件夹中。例如,您可以在C:\platform-tools\apks\上创建一个名为“ apks”的文件夹。

打开CMD(命令提示符)窗口。 (理想情况下,请确保右键单击并以管理员身份运行。可能没有必要。)

现在,您的电话已连接,并且计算机上已安装ADB,因此您可以在命令行中输入以下内容。

首先,测试一下您的设备是否已连接。

cd C:\platform-tools\

adb devices


如果手机正确连接,您将看到类似以下内容:

* daemon not running: starting now at tcp:5037
* daemon started successfully
List of devices attached
Z1Z1Z1Z1Z1Z1    device


其中Z1Z1Z1Z1Z1Z1是设备手机的ID。

如果看到该ID,则表示成功。继续执行安装命令:

for %e in (apks\*.apk) do adb install %e


如果成功,就成功了!喜欢看一切快速安装。与在手机上手动安装300多个apk相比,这样做可能更快。

问题和解决方案

如果您收到错误more than one installed并在设备下看到emulator-5556,请尝试此操作(或者您可以跳到最后,看看解决此问题的方法):


重启电话

CMD窗口中的adb kill server
手机重启完成后,键入:adb devices

如果它能正常工作并且只有手机显示,那就很棒!在CMD窗口中(不要再次检查adb设备)
如果仍然看到仿真器,请尝试以下说明。

然后运行最终命令并观察所有安装。

如果出现错误“ FAILED ALREADY EXISTS EXISTS”,则是因为该应用程序已经存在于手机中,并且不会重新安装,因此只会安装尚未安装的应用程序。
如果您的手机崩溃并断开连接,那是因为屏幕在我怀旧。您可能偶尔会在桌面上滑动屏幕,这应该可以防止屏幕进入休眠状态并阻止您的安装,从而使您重新开始。

由于您的计算机对于命令提示符和某些命令而言过快,因此可能无法安装所有应用程序可能会说“一个以上的设备/模拟器”,而其他的则正常安装。在这种情况下,我有解决方法。


键入adb kill server。记下上面输出中的设备ID,例如adb devices
Z1Z1Z1Z1Z1Z1之后指定您的设备ID。

请参见以下示例命令:

for %e in (apks\*.apk) do adb -s Z1Z1Z1Z1Z1Z1 install %e


其中-s是手机的设备ID。

此将确保ADB忽略任何其他设备,并防止出现“多个设备”错误。

希望有帮助!

#5 楼

除了adb install之外,您还可以直接使用package manager中的adb shell安装应用程序。将.apk文件放在/data/local/tmp中,并确保文件可读,SELinux上下文必须为u:object_r:shell_data_file:s0。现在:

~$ cd /data/local/tmp
~$ ls *.apk | xargs -I {} pm install '{}'


另一个简单的root解决方案-尽管不是来自计算机的-使用某些文件浏览器,例如MiXplorer批量安装应用程序。选择所有.apk文件,然后从菜单上点击Install

#6 楼

对于Linux,在APK所在的目录中,打开终端并输入
find . -name "*.apk" -exec adb install {} \;

#7 楼

对于Windows:
使用ADB(已安装Android SDK,并且PATH设置正确)
和Windows上的命令提示符
运行以下命令以确保ADB正常运行文件夹中的所有APK
adb devices

基于@thetechreader的答案的改进版本(适用于带有空格/符号的文件名)

#8 楼

您可以通过ADB将APK直接从计算机直接安装到Android手机。首先,下载并安装ADB。如果尚未安装,可以从Google的DL存储库下载。
然后在手机上启用开发人员模式。您可以在手机的设置中找到它。
然后运行此命令。
adb install "path to your apk file"

例如:
C:\Users\Owner>adb install C:\Users\Owner\Downloads\android-agent.apk


评论


请注意,这只会安装一个APK,而不会同时安装一个批处理/多个APK。

–安德鲁·T。♦
20年8月16日在13:41