您的位置:首页 > 其它

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

2015-05-13 21:13 495 查看
BAT - 通过脚本直接从apk文件获取包名等信息

此博客原创于: http://blog.csdn.net/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复制到脚本路径下方便调用即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐