项目(project)的build.gradle文件里通过buildscript代码块向我们的工程添加Android的Gradle插件.模块(module)的build.gradle文件通过向Gradle DSL添加下面的android代码块来"实现"这个插件.
通常Java工程使用java插件,但是Android工程使用com.android.application代替.使用Java插件会造成构建错误.
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion '24.0.3'
defaultConfig {
applicationId "com.yiheng.***"
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
这里的android代码块是Android DSL的入口点,defaultConfig中的配置会同时应用到release版本和debug版本.
compileSdkVersion:设置编译应用的使用的SDK版本
buildToolVersion:构建工具版本号这两个应该设置为最新版,因为他们支持向下兼容并且包含了当前所有的bug修复.
applicationId:应用的包名
包名在Google Play商店里不能与其他应用包名相同,必须是唯一的.如果包名更改,应用会被看作一个新应用.
minSdkVersion:应用支持的最低Android SDK版本
如果使用了高于最低版本的API,就需要在程序中检测运行时的版本,针对不同版本给出解决方案.
如果采用的一些支持库(Support Library)有自己的minSdkVersion,那么应用的minSDKVersion就必须大于等于支持库的minSdkVer.
低于最低版本的设备不会在Google Play商店里看到本应用.
在Eclipse中通过在AndroidManifest.xml中的 < uses-sdk >标签里设置minSDKVersion和targetSDKVersion,这种方法在Android Studio里已经废弃了,就算手动在AndroidManifest.xml里设置,在构建时也会被gradle里设置的值所重写.
targetSdkVersion:目标版本允许应用在适应新的系统行为变化之前就可以使用最新的API(因为这个是在compileSdkVersion设置了的),同时目标版本也意味着应用已经在这个版本上经过了充分测试.
minSDKVersion<=targetSDKVersion<=compileSDKVersion.
最佳的配置是:
minSDKVersion<=targetSDKVersion==compileSDKVersion
这样就可以用较低的最低版本实现最大人群覆盖,使用最新的SDK来获取最佳的外观和功能.
versionCode:表示应用的版本的一个整数.
versionName:表示release版本版本号的一个字符串.通常格式为: < major >.< minor >.< version >.
以上设置可以在Android Studio的File => Project Structure窗口里看到.
网友评论