通过aapt工具查看AndroidManifest.xml文件

在反编译或者app打包加固之后,有时候需要查看apk文件中AndroidManifest.xml里面的一些配置信息,查看的方法很多,例如使用apktool、apk-parser等,个人觉得aapt工具最方便,这里介绍一下使用aapt查看的方法。

aapt工具在Android SDK build-tools目录里面,以我的笔记本为例,AndroidStudio和Eclipse里面都有。
通过aapt工具查看AndroidManifest.xml文件_第1张图片

通过aapt工具查看AndroidManifest.xml文件_第2张图片

使用方法:

1.切换到工具所在目录:

cd E:\Android\Tools\Eclipse\eclipse_en_32_4.4\sdk\build-tools\build-tools-21.1.1

2.使用aapt查看AndroidManifest.xml内容:

aapt dump xmltree C:\Users\lish\Desktop\test.apk AndroidManifest.xml

“C:\Users\lish\Desktop\test.apk”就是要查看的apk文件所在的路径。
也可以把输出结果保存到文件,在上面命令的后面追加保存路径即可。例如: “ > C:\Users\lish\Desktop\Manifest.txt” 。

aapt dump xmltree C:\Users\lish\Desktop\test.apk AndroidManifest.xml > C:\Users\lish\Desktop\Manifest.txt

通过aapt工具查看AndroidManifest.xml文件_第3张图片

输出结果示例:

N: android=http://schemas.android.com/apk/res/android
  E: manifest (line=2)
    A: android:versionCode(0x0101021b)=(type 0x10)0x1
    A: android:versionName(0x0101021c)="1.0" (Raw: "1.0")
    A: package="com.biu.simplenews" (Raw: "com.biu.simplenews")
    A: platformBuildVersionCode=(type 0x10)0x17 (Raw: "23")
    A: platformBuildVersionName="6.0-2704002" (Raw: "6.0-2704002")
    E: uses-sdk (line=7)
      A: android:minSdkVersion(0x0101020c)=(type 0x10)0xe
      A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16
    E: uses-permission (line=11)
      A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
    E: uses-permission (line=12)
      A: android:name(0x01010003)="android.permission.WRITE_EXTERNAL_STORAGE" (Raw: "android.permission.WRITE_EXTERNAL_STORAGE")
    E: uses-permission (line=13)
      A: android:name(0x01010003)="android.permission.READ_EXTERNAL_STORAGE" (Raw: "android.permission.READ_EXTERNAL_STORAGE")
    E: uses-permission (line=14)
      A: android:name(0x01010003)="android.permission.ACCESS_NETWORK_STATE" (Raw: "android.permission.ACCESS_NETWORK_STATE")
    E: application (line=16)
      A: android:theme(0x01010000)=@0x7f09008c
      A: android:label(0x01010001)=@0x7f06001e
      A: android:icon(0x01010002)=@0x7f030000
      A: android:name(0x01010003)="com.biu.simplenews.AppApplication" (Raw: "com.biu.simplenews.AppApplication")
      A: android:allowBackup(0x01010280)=(type 0x12)0xffffffff
      A: android:supportsRtl(0x010103af)=(type 0x12)0xffffffff
      E: activity (line=23)
        A: android:name(0x01010003)="com.biu.simplenews.MainActivity" (Raw: "com.biu.simplenews.MainActivity")
        E: intent-filter (line=24)
          E: action (line=25)
            A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
          E: category (line=27)
            A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
      E: activity (line=30)
        A: android:label(0x01010001)=@0x7f06002a
        A: android:name(0x01010003)="com.biu.simplenews.activity.ZhihuDetailActivity" (Raw: "com.biu.simplenews.activity.ZhihuDetailActivity")
      E: activity (line=33)
        A: android:name(0x01010003)="com.biu.simplenews.activity.WangYiDetailActivity" (Raw: "com.biu.simplenews.activity.WangYiDetailActivity")
      E: activity (line=34)
        A: android:name(0x01010003)="com.biu.simplenews.activity.FilmDetailActivity" (Raw: "com.biu.simplenews.activity.FilmDetailActivity")
      E: activity (line=62)
        A: android:name(0x01010003)="com.biu.simplenews.activity.JokeActivity" (Raw: "com.biu.simplenews.activity.JokeActivity")

你可能感兴趣的:(Android)