如何列出多个apks的包名?

时间:2017-07-30 02:07:25

标签: java android batch-file apk

一个.bat代码,用于将文件夹中多个.apk文件的package_names列入具有此结构的.txt文件中:

com.a.a

com.b.b

只需将文件夹路径发送到我的bat文件即可。例如b.bat "C:\apks"包含一些.apk文件,必须创建一个.txt文件并写入所有文件的所有package_names。

我试图找到一种方法,但不能用于Windows和多个apk文件。

那我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用aapt.exe获取包名称。例如:

aapt dump badging path\to\file.apk | findstr /C:"package: name"

要迭代文件,您可以使用FOR(在命令提示符下,否则为双百分号):

for %i in (C:\apks\*.apk) do @echo %i

如此组合,您的批处理文件应如下所示:

@for %%i in (C:\apks\*.apk) do @aapt dump badging "%%i" | findstr /C:"package: name"

将此内容写入文件:

my_batch_file_that_calls_aapt.bat > my_text_file.txt

或者更通用一点:

@echo off
SET FOLDER=%1
SET OUTPUT=%2
break>%OUTPUT%
for %%i in (%FOLDER%\*.apk) do aapt dump badging "%%i" | findstr /C:"package: name" >> %OUTPUT%

在尝试其中任何一项之前,请确保aapt.exePATH

只是为了全面了解,这就是你在Linux / MacOS X上的表现:

ls /path/to/my/apks/*.apk | xargs -L 1 aapt dump badging | grep package:\ name