如何查看已发布Xamarin.Android应用编译时的目标API Level?
查询Android应用编译时的目标API Level的方法
没问题,我来给你几种实用的方法,帮你找出这个应用的目标API Level:
直接从APK文件读取
这是最通用的方式,不管你有没有源代码都能用:- 使用Android SDK自带的
aapt工具(在SDK目录的build-tools子文件夹下),执行命令:
在输出结果里搜索aapt dump badging your-app.apktargetSdkVersion,就能看到对应的API级别数值。 - 或者用Android Studio的APK Analyzer:打开Android Studio,直接把APK文件拖进窗口,在左侧导航栏找到
AndroidManifest.xml(选择merged版本),里面会明确列出android:targetSdkVersion的具体值。
- 使用Android SDK自带的
从源代码或版本控制记录查询
如果你持有应用的源代码:- 打开模块级别的
build.gradle(或build.gradle.kts)文件,查找targetSdkVersion字段,这里的数值就是编译时的目标API级别。 - 如果你不确定当前代码的配置是否和上次发布一致,可以查看版本控制(比如Git)的历史记录,找到对应发布版本的commit,查看当时的
build.gradle配置内容。
- 打开模块级别的
从已安装的应用查询
如果应用已经安装在Android设备上,用ADB命令就能快速获取:adb shell dumpsys package com.your.app.package在输出内容里搜索
targetSdkVersion,就能找到对应的数值。
另外结合你提到的情况——应用没有处理动态权限申请,基本可以确定它的目标API Level低于23(Android 6.0),因为从API 23开始,危险权限才要求必须动态向用户申请授权。
内容的提问来源于stack exchange,提问作者Lotok




