最近写了一个当前进程的 APP ,有方便一些高阶机油进行写轮眼校调
等作用。
随着版本的衍进,修改版本号和升级 Android Support Library
变得繁复。
因此,我开始借用 Gradle
语法,让项目更易于管理。
以下开始分步骤进行教学。
会 git diff
的盆友,可以直接看这条 commit 快速 GET 这项技能。
https://github.com/Omico/CurrentActivity/commit/a535c03b88734bc1266dddbca5c03c5f3f017dc4
0x01
新建一个 config.gradle
的 Gradle
配置文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| ext { compileSdkVersion = 25 buildToolsVersion = "25.0.2"
app = [ applicationId : "me.omico.currentactivity", minSdkVersion : 19, targetSdkVersion: 25, versionCode : 4, versionName : "1.0.3" ]
dependencies = [ supportLibraryVersion: "25.1.1" ] }
|
此配置文件的作用是集中管理定义项。
0x02
接着,光定义了还是不行的,我们需要把这个配置文件引入,让 Gradle
识别。
修改你的项目根目录的 build.gradle
,加入以下代码。
1
| apply from: "config.gradle"
|
例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
apply from: "config.gradle"
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.3'
} }
allprojects { repositories { jcenter() } }
task clean(type: Delete) { delete rootProject.buildDir }
|
0x03
以上你已经定义并引入你的定义到工程里了。
接下来,我们来修改你的工程 app
目录下的 build.gradle
,让 config.gradle
生效。
这里直接通过修改前后的对比,这样能更为直接的说明问题。
修改前
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| apply plugin: 'com.android.application'
android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "me.omico.currentactivity" minSdkVersion 19 targetSdkVersion 25 versionCode 4 versionName "1.0.3" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:25.1.1' compile 'com.android.support:design:25.1.1' }
|
修改后
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| apply plugin: 'com.android.application'
android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { applicationId rootProject.ext.app.applicationId minSdkVersion rootProject.ext.app.minSdkVersion targetSdkVersion rootProject.ext.app.targetSdkVersion versionCode rootProject.ext.app.versionCode versionName rootProject.ext.app.versionName } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile "com.android.support:appcompat-v7:$rootProject.ext.dependencies.supportLibraryVersion" compile "com.android.support:design:$rootProject.ext.dependencies.supportLibraryVersion" }
|
结束语
以上你已经完成了定义你一定看到了 Android Studio
提示需要重新同步的字样了吧。

点击 Sync Now
后运行你的 APP 验证无误后,那么恭喜你又 GET 一项技能。
下次再需要修改这些定义项的时候你只需要修改 config.gradle
就可以了。
其实 Gradle
的强大不止于此,这里只是简单说说其中的一小点。