Android应用程序的构建过程
- 所有的资源文件打包编译,在R文件中应用;
- 将所有的java代码打包编译,通过dex工具编译成dalvik字节码;
- 将所有的文件打包成apk文件;
- 对apk进行debug或者release签名
BuildConfig配置文件
Gradle中涉及到的相同的配置。例如不同的module的都要配置compileSdkVersion、buildToolsVersion等变量值,我们把这些公共的配置项称为共享变量。为了方便统一管理,在项目根目录的build.gradle中直接引入配置的build_config.gradle配置文件。
1.在config.gradle中配置统一变量(在根目录下New -> File -> config.gradle)
//基础配置
ext{
android = [
compileSdkVersion:25,
buildToolsVersion:26.0.0,
applicationId:com.example.demo,
minSdkVersion:19,
targetSdkVersion:25
...
]
}
//统一版本号控制配置,方便查看和修改
version = [
androidSupportSdkVersion:"27.1.1.",
retrofitVersion:"2.2.0",
rx2javaVersion : "2.1.12"
...
]
//使用version中定义的变量统一规范依赖的版本号
dependencies = [
//support
"appcompat-v7" : "com.android.support:appcompat-v7:${version.androidSupportSdkVersion}",
//Retrofit
"retrofit":"com.squareup.retrofit2:${version.retorfitVerson}",
//Rx2Java
"rx2java":"io.reactivex.rxjava2:rxjava:${version.rx2javaVersion}"
...
]
}
2.在build.gradle(Project:demo)中引入自定义的config.gradle
apply from:"config.gradle"
3.在build.gralde(Module:app)中使用共享变量
android{
compileSdkVersion rootProject.ext.android["compileSkdVersion"]
targetSkdVersion rootProject.ext.android["targetSdkVersion"]
}
dependencies{
compile fileTree(include:['*.jar'],dir:'libs')
compile rootProject.ext.dependencies.appcompat-v7
compile rootProject.ext.dependencies.retrofit
compile rootProject.ext.dependencies.rx2java
}
网友评论