我需要得到一个Android APK的包名。我已经尝试解压缩APK和读取AndroidManifest.xml文件的内容,但它似乎不是一个文本文件。
如何提取APK的包名?
我需要得到一个Android APK的包名。我已经尝试解压缩APK和读取AndroidManifest.xml文件的内容,但它似乎不是一个文本文件。
如何提取APK的包名?
当前回答
要在批处理脚本中使用它,让脚本只返回包名是很方便的(例如,当你有APK时卸载应用程序)。
下面是我使用的脚本:
# extract the android package id from a built apk file
# usage ./getPackageName.sh <path-to-apk>
line=`aapt dump badging "$1" | grep package:\ name`
# above returns:
# package: name='com.calvium.myapp' versionCode='1' versionName='1.0'
if [[ $line =~ name=\'(.+)\'\ versionCode ]]; then
echo ${BASH_REMATCH[1]}
else
echo "Failed to find package name"
exit 1
fi
可参考要旨
你可以这样写:
adb卸载`./getPackageName.sh file.apk`
其他回答
一个简单的解决方案是Open Android Studio -> Build -> Analyze Apk…浏览并选择APK,现在你可以找到包的名称,你可以阅读。
我也尝试了反编译的东西,它的工作,但最近我发现了最简单的方法:
从Appium网站下载安装Appium 打开Appium->Android设置,选择目标apk文件。然后你得到你想要的一切,包信息,活动信息。
另一个解决方案是使用aapt列表,并使用sed来解析它:
aapt list -a $PATH_TO_YOUR_APK | sed -n "/^包组[^s]/s/.*name=//p"
你可以在模拟器上安装Package_Name_Viewer.apk,接下来你可以在模拟器上看到所有已安装应用程序的包名。
有一个非常简单的方法,如果你的智能手机上已经准备好了APK。只要使用这些应用程序之一:
包名称查看器应用程序