我需要得到一个Android APK的包名。我已经尝试解压缩APK和读取AndroidManifest.xml文件的内容,但它似乎不是一个文本文件。
如何提取APK的包名?
我需要得到一个Android APK的包名。我已经尝试解压缩APK和读取AndroidManifest.xml文件的内容,但它似乎不是一个文本文件。
如何提取APK的包名?
当前回答
你可以通过以下方式获取包名:
packageManager.getPackageArchiveInfo(apkFilePath, 0)?.packageName
其他回答
下面的bash脚本将显示包名称和主活动名称:
apk_package.sh
package=$(aapt dump badging "$*" | awk '/package/{gsub("name=|'"'"'",""); print $2}')
activity=$(aapt dump badging "$*" | awk '/activity/{gsub("name=|'"'"'",""); print $2}')
echo
echo " file : $1"
echo "package : $package"
echo "activity: $activity"
像这样运行它:
apk_package.sh /path/to/my.apk
在Android设备上安装apk。然后
您可以启动adb shell并执行PM list packages -f,这将显示每个已安装apk的包名称。
这是从 找到包名称为Android应用程序使用意图启动市场应用程序从网络。
aapt dump badging <path-to-apk> | grep package:\ name
如果你使用MS Notepad打开AndroidManifest.xml,搜索短语包,你会发现以下内容:
package manifest $xxx.xxxxxxx.xxxxxxx |
其中xxx.xxxxxxx.xxxxxxx是您的包名,只是在每个字符后面加上一个空格。
当您没有安装任何特定的工具时,这是一种有用的方法。
有一个非常简单的方法,如果你的智能手机上已经准备好了APK。只要使用这些应用程序之一:
包名称查看器应用程序