BAT - 通过脚本直接从apk文件获取包名等信息

这篇博客介绍如何通过命令行工具aapt和批处理脚本来直接从apk文件中提取包名等信息,提供了方便快捷的方式处理多个apk文件,只需将apk放在指定文件夹,运行bat脚本,解析结果将汇总到txt文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BAT - 通过脚本直接从apk文件获取包名等信息


此博客原创于: http://blog.youkuaiyun.com/lys211

转载请保留标识。



有时,我需要从android应用包里直接获取到应用程序的包名,别的不需要,此时想方便快捷的拿到想到的信息,只需要打开命令行窗口,然后输入命令

aapt d badging xxx.apk

xxx.apk是你想解析的包,就可以得到apk的资源信息



比如输入 aapt d badging 58tongcheng_6080.apk

得到如下信息:



aapt.exe 这个放置在你的android sdk 目录下的 build-tools\22.0.1 文件夹下




脚本太简单,简单说下思路

批量的解析apk的时候,直接将apk放到一个文件夹下,然后弄一个bat脚本,逐个对该文件夹下的apk文件进行解析,然后放入一个txt文件中。



脚本的主要部分如下:

echo 开始...
set ApksPath="<span style="color:#cc0000;">%currentPath%\apps</span>"
set ErrorLogFileName=%currentPath%\ParseApkErrorLog.txt
set ParselApksLogFile=%currentPath%\ParselApksLogFile.txt

set /a var=1

for /f "delims=" %%i in ('dir/b/a-d %ApksPath%\*.apk') do (
	echo 正在解析第 !var! 个应用: %%i
	for /f "delims=" %%a in ( 'aapt d badging "%ApksPath%\%%i"^|findstr "package: "') do (
		echo %%a
		for /f "delims=' tokens=2" %%b in ( "%%a" ) do ( echo %%b>>%<span style="font-family: Arial, Helvetica, sans-serif;">ParselApksLogFile</span>% )
	)
	set /a var+=1
)

echo 完成


上面这部分脚本的主要功能是,对 %currentPath%\apps  目录下的所有文件进行解析,将获取到apk的包名并将包名存入文件 %ParselApksLogFile% 中。
这里的话,一般将aapt.exe复制到脚本路径下方便调用即可。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值