Android API 级别 - gradle 编译 - 会运行吗?
Posted
技术标签:
【中文标题】Android API 级别 - gradle 编译 - 会运行吗?【英文标题】:Android API level - gradle compiles - will it run? 【发布时间】:2016-06-11 09:50:55 【问题描述】:我将我的 android 项目中用于测试的 API 级别从 build.gradle 文件中的 22 更改为 7。
Gradle 构建项目没有问题,它在我的(Android 5.1 操作系统)上运行没有问题。
成功构建是否表明应用可以在较低的操作系统(低至 API 级别 7)上正常运行?如果不是 - 我如何检查哪个 API 最适合我的应用程序?
apply plugin: 'com.android.application'
android
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig
applicationId "com.myapplication"
minSdkVersion 7
targetSdkVersion 23
versionCode 1
versionName "1.0"
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
dependencies
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:design:23.2.0'
【问题讨论】:
【参考方案1】:Gradle 工具,尤其是 Lint,现在可以很好地确定您的 minSdkVersion
是否真的适用于您的应用程序,并且当您使用不可用的 API 时,通常会阻止 lintVitalRelease
任务中的发布构建在您的最低 SDK 级别上。
当然,您总是可以(并且应该)创建一个 API 级别 7 的模拟器并在那里测试您的应用程序。即使它没有立即崩溃,有些事情可能表现得很奇怪/不同,或者可能根本不工作或根本不可见,因为您使用的兼容 API 调用已在较低 API 级别上转换为 noops。
【讨论】:
以上是关于Android API 级别 - gradle 编译 - 会运行吗?的主要内容,如果未能解决你的问题,请参考以下文章
应用程序的 minSdkVersion 比设备 API 级别(android-R)更新