【问题标题】:extract package name from apk file从apk文件中提取包名
【发布时间】:2014-04-16 08:52:17
【问题描述】:

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

aapt dump badging <apk file>

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

【问题讨论】:

标签: java android package


【解决方案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);
          }

【讨论】:

    【解决方案2】:

    试试这个代码..

    从apk文件中获取应用的包名。

    清单中的所有信息

    aapt dump badging <path-to-apk>
    

    只获取包名和主Activity 使用以下数据创建 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 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多