如何在Android中通过编程方式获取CompileSdkversion值
安卓应用获取
CompileSdkVersion的实现方案 Android系统没有提供直接读取应用编译SDK版本的公开API,CompileSdkVersion是编译期配置参数,仅存在于项目构建配置中,你可以通过以下方法将该值注入到应用运行时环境:
- 第一步:修改Module级别的build.gradle配置,新增BuildConfig常量
如果你使用Groovy语法的build.gradle:
如果你使用Kotlin DSL的build.gradle.kts:android { // 保留你原有配置不变,新增以下代码 buildConfigField "int", "COMPILE_SDK_VERSION", compileSdkVersion.toString() }android { // 保留你原有配置不变,新增以下代码 buildConfigField("int", "COMPILE_SDK_VERSION", compileSdk.toString()) } - 第二步:同步Gradle配置,同步完成后即可在应用代码中直接读取编译SDK版本:
// Java代码调用 int compileSdk = BuildConfig.COMPILE_SDK_VERSION;// Kotlin代码调用 val compileSdk = BuildConfig.COMPILE_SDK_VERSION
说明:该方案是官方标准实现方式,编译阶段会自动把你配置的
CompileSdkVersion写入自动生成的BuildConfig类,运行时读取无性能损耗,获取到的数值和build.gradle中配置的完全一致,可以和你已经实现的android.os.Build.VERSION.SDK_INT(设备运行时SDK版本)一同放在关于弹窗中展示,满足用户反馈问题时的信息获取需求。
内容的提问来源于stack exchange,提问作者AndyBeck
相关产品推荐
相关产品推荐

