获取APK相关信息

获取APK相关信息

前提

Android中APK部分信息通过adb无法直接获取,但是可以通过Android中的ApplicationInfo接口进行获取。

获取内容

  • packageName:应用的包名,唯一标识每个APP
  • appName:应用的名称,用户在界面上看到的名字
  • isSystemApp:是否为系统应用,区分预装和用户安装
  • launcherActivity:应用的启动Activity类名
  • processName:应用运行的进程名称
  • compileSdkVersion:编译时所用的SDK版本
  • targetSdkVersion:目标适配的SDK版本
  • icon:应用的图标数据

功能实现

权限

xml
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
    tools:ignore="QueryAllPackagesPermission" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
    android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    android:maxSdkVersion="32"
    tools:ignore="ScopedStorage" />

MainActivity(入口)

AppInfoManager(核心部分)

DatabaseHelper(数据保存)

使用方法

安装APK
$
adb install -g app-debug.apk # 通过-g参数授予全部权限
启动APK
$
adb shell am start -n com.tt.appinfo/.MainActivity
等待获取完成
$
adb shell cat /sdcard/Android/data/com.tt.appinfo/files/result.txt # 结果为1时,获取完成
导出数据
$
adb pull /sdcard/Android/data/com.tt.appinfo/files/appInfo.db
解析数据

可通过SQLite在线查看临时查看数据

临时查看结果
临时查看结果

python解析示例

C#解析示例

python常用代码片段
填充联系人、通话记录、短信的方法

评论区

评论加载中...