使用 egrep 获取 android 应用的包名
use egrep to get package name of android app
我想提取我的 apk 的包名作为脚本。
我可以用这样的方式列出包名
./aapt dump badging <apk.path> | grep package
输出看起来像这样
package: name='com.example.app' versionCode='' versionName='4.6.10' platformBuildVersionName='6.0-2166767'
所以我想 运行 aapt 命令,它只有 return com.example.app
我认为它会是这样的,但仍然 return 一切。
./aapt dump badging <apk.path> | egrep package:\ name='(.*?)'
再次使用grep
:
grep -Po "(?<=name=')[^']*" file
这使用 P
erl 正则表达式来打印 o
仅在 name='
之后到 '
.
之后的内容
测试
$ cat a
package: name='com.example.app' versionCode='' versionName='4.6.10' platformBuildVersionName='6.0-2166767'
buuu
$ grep -Po "(?<=name=')[^']*" a
com.example.app
通过多次 greps 和一些正则表达式让它工作。下面是我的工作。不确定这是否是最好的方法,但有效。
$ aapt dump badging <path.to.apk> | grep package | grep -Eo '[a-z]+\.\w+\.\w+'
$ com.example.app
我想提取我的 apk 的包名作为脚本。
我可以用这样的方式列出包名
./aapt dump badging <apk.path> | grep package
输出看起来像这样
package: name='com.example.app' versionCode='' versionName='4.6.10' platformBuildVersionName='6.0-2166767'
所以我想 运行 aapt 命令,它只有 return com.example.app
我认为它会是这样的,但仍然 return 一切。
./aapt dump badging <apk.path> | egrep package:\ name='(.*?)'
再次使用grep
:
grep -Po "(?<=name=')[^']*" file
这使用 P
erl 正则表达式来打印 o
仅在 name='
之后到 '
.
测试
$ cat a
package: name='com.example.app' versionCode='' versionName='4.6.10' platformBuildVersionName='6.0-2166767'
buuu
$ grep -Po "(?<=name=')[^']*" a
com.example.app
通过多次 greps 和一些正则表达式让它工作。下面是我的工作。不确定这是否是最好的方法,但有效。
$ aapt dump badging <path.to.apk> | grep package | grep -Eo '[a-z]+\.\w+\.\w+'
$ com.example.app