从apk文件中提取包名称

时间:2014-04-16 08:52:18

标签: java android package

在我的java应用程序中,我试图获取android应用程序的包名称。我通过执行命令行参数尝试了它。命令是:

aapt dump badging <apk file>

此命令返回应用程序的整个元数据。我必须从返回的字符串中提取包名称,假设名为'result';

2 个答案:

答案 0 :(得分:1)

你正在寻找这个代码:

String line;
        while ((line = r.readLine()) != null) {
            int ind = line.indexOf("package: name=");
            if (ind >= 0) {
                String yourValue = line.substring(ind + "default =".length(), line.length() - 1).trim(); // -1 to remove de ";"
                System.out.println(yourValue);
          }

答案 1 :(得分:0)

试试这段代码..

从apk文件获取应用程序的包名称。

清单中的所有信息

aapt dump badging <path-to-apk>

仅获取包名称和主要活动 使用以下数据创建applicationInfo.sh文件

package=`aapt dump badging $* | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g`
activity=`aapt dump badging $* | grep Activity | awk '{print $2}' | sed s/name=//g | sed s/\'//g`
echo
echo package : $package
echo activity: $activity

执行命令

<span class="skimlinks-unlinked">applicationInfo.sh</span> <path-to-apk>

这将打印包名称和主要活动。您可以根据需要修改.sh文件。