Chia sẻ cấu hình Gradle giữa các modules trong Project
Bài đăng này đã không được cập nhật trong 5 năm
Việc sử dụng nhiều modules trong một project Android cho phép chúng ta chia nhỏ được source code vào các components hợp lý. Nó cũng giúp tăng tốc quá trình build và module hóa source code. Nhưng có một vấn đề với việc sử dụng nhiều modules trong project đó là sẽ phải viết rất nhiều cấu hình dài dòng. Bài viết này sẽ giới thiệu cho các bạn cách chia sẻ cấu hình chung giữa các library nhằm giảm cấu hình Gradle thừa thãi.
Tôi đã áp dụng cách này vào dự án ShoppingApp của tôi và kết quả là xóa được 90 dòng code trên 7 thư viện modules.
apply from: “____.gradle”
Bạn có thể thêm nội dung của một file Gradle khác vào trong file gradle hiện tại bằng cách sử dụng "apply from:" và chỉ định đến file mà bạn muốn sử dụng.
apply from: "$rootProject.projectDir/android-library.gradle"
$rootProject.projectDir
Modules có thể tồn tại trong các cấu trúc thư mục khác nhau, vì vậy bằng cách tận dụng thuộc tính $rootProject.projectDir
, chúng ta có thể chỉ định các đường dẫn dựa trên thư mục gốc của dự án.
Original Library Module build.gradle
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
android {
compileSdkVersion Versions.compile_sdk
defaultConfig {
minSdkVersion Versions.min_sdk
targetSdkVersion Versions.target_sdk
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
dependencies {
implementation project(Modules.models)
implementation Libs.kotlin_std_lib
}
build.gradle sau khi sử dụng file chia sẻ
apply from: "$rootProject.projectDir/android-library.gradle"
dependencies {
implementation project(Modules.models)
implementation Libs.kotlin_std_lib
}
File Gradle chung
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
android {
compileSdkVersion Versions.compile_sdk
defaultConfig {
minSdkVersion Versions.min_sdk
targetSdkVersion Versions.target_sdk
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
Nếu bạn làm công việc nào đó quá 3 lần, hãy tổng quát hóa và sử dụng lại
Bất cứ khi nào có thể và có ý nghĩa, sử dụng cấu hình chung để giảm việc lặp những đoạn code dài dòng. Rule này cũng được áp dụng khi viết code hoặc viết file Gradle. Chúc các bạn thành công.
All rights reserved