使用aapt工具阅读apk文件的更少信息

Cod*_*lue 4 windows android aapt

我正在使用aapt工具来读取apk文件的内容:

aapt d badging myapk.apk
Run Code Online (Sandbox Code Playgroud)

但输出太多了.我只需要包名和版本名.有什么方法可以限制吗?

更新:我让它在窗口cmd上工作.看起来像这样:

aapt d badging myapk.apk | find "pack"
Run Code Online (Sandbox Code Playgroud)

Pad*_*mar 12

//试试这个

aapt d badging myapk.apk | grep 'pack'
Run Code Online (Sandbox Code Playgroud)

它为我展示了

padmakumar@padmakumar-desktop:~$ aapt d badging ./Desktop/NhpAndroid_tablet_k4.apk  | grep 'pack'
package: name='com.ti.et.nspire.android' versionCode='1' versionName='1.0'
Run Code Online (Sandbox Code Playgroud)


小智 5

这是一个对我有吸引力的技巧.我正在使用Backtrack 5 r2; GNU bash,版本4.1.5(1)-release(i486-pc-linux-gnu)

假设"./aapt"可执行文件位于Shell或Script的同一目录中.如果不只是添加可执行文件的路径或使用export aapt ="/ path/to/aapt"并使用变量路径.

out = $(./ aapt dump badging GameCIH.apk | grep'application-label:'| awk -F:'match($ 0,":"){print substr($ 0,RSTART + 1)}'| tr -d "'")

来自aplication-label: apk上的"GameCIH"

仅限:

GameCIH

最后一件事.如果您需要包名称或版本名称,请执行以下操作:

out = $(./ aapt dump badging GameCIH.apk | grep'versionName ='| awk -F:'match($ 0,"versionName ="){print substr($ 2,RSTART-8)}'| tr -d" '")

这将返回例如:

=的versionName 3.0.0

只需将值versionName更改为您需要的任何值.

更改RSTART-8是这样的:RSTART + 4,它将返回:

3.0.0

我希望这可以帮助你!