Bekerja-Dengan-Gradle-di-Android1

Bekerja Dengan Gradle di Android

Diposting pada

Gradle adalah sistem build berbasis JVM yang memungkinkan pengembang untuk menulis high-level skrip agar dapat digunakan untuk mengotomatiskan proses kompilasi dan produksi aplikasi. Gradle merupakan sistem berbasis plugin yang fleksibel, yang memungkinkan Anda bekerja dengan Gradle di Android untuk mengotomatisasi berbagai aspek dari proses pembuatan; termasuk menyusun dan menandatangani .jar, mengunduh dan mengelola dependensi eksternal, menghubungkan field ke AndroidManifest atau memanfaatkan versi SDK tertentu.


Dasar build.gradle file

apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion '25.0.3'
signingConfigs {
applicationName {
keyAlias 'applicationName'
keyPassword 'password'
storeFile file('../key/applicationName.jks')
storePassword 'keystorePassword'
}
}
defaultConfig {
applicationId 'com.company.applicationName'
minSdkVersion 14
targetSdkVersion 25
versionCode 1
versionName '1.0'
signingConfig signingConfigs.applicationName
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
testCompile 'junit:junit:4.12'
} 


DSL (domain-specific language)

Setiap blok pada file di atas disebut dengan DSL (domain-specific language).


Plugins

Pada baris pertama, apply plugin: ‘com.android.application’, kita menyertakan plugin ke dalam Gradle untuk membangun dan membuat android {} block yang tersedia dengan cara mendeklarasikan Android- build options yang sifatnya spesifik.


Untuk Android Application, tambahkan:
apply plugin: 'com.android.application'


Untuk Android Library, tambahkan:
apply plugin: 'com.android.library'


Memahami DSL pada contoh di atas


Bagian kedua, Android {…} blok, adalah Android DSL yang berisi informasi tentang proyek Anda.

Baca juga:  Bagaimana Menggunakan Percent Layouts dan View Weight di Android?


Misalnya, Anda dapat mengatur compileSdkVersion yang menentukan level API Android yang harus digunakan oleh Gradle untuk mengkompilasi aplikasi Anda. Sub-blok defaultConfig secara default menghandle manifest Anda. Anda dapat menimpanya dengan Product Flavors.


Anda dapat menemukan info lebih lanjut dalam contoh-contoh ini:

  • DSL untuk app module
  • Build Types
  • Product Flavors
  • Signing settings


Dependencies


Blok dependensi didefinisikan di luar blok android {…}: ini artinya blok tersebut tidak didefinisikan oleh plugin Android tapi meskipun demikian, blok tersebut merupakan standar yang dibuat oleh Gradle. Blok dependensi menentukan external libraries (biasanya library Android, tetapi library Java juga valid) yang ingin Anda sertakan dalam aplikasi Anda. Gradle akan secara otomatis mengunduh dependensi ini untuk Anda (jika tidak ada salinan lokal yang tersedia), Anda hanya perlu menambahkan baris kompilasi serupa ketika Anda ingin menambahkan library lain.


Mari kita lihat kode di bawah ini:
implementation 'com.android.support:design:25.3.1'


Baris ini pada dasarnya memerintahkan untuk menambahkan dependencies design library ke proyek saya.

Baca juga:  Cara Memperbarui Google PlayStore Secara Otomatis


Gradle akan memastikan bahwa library sudah diunduh dan sudah tersedia sehingga Anda dapat menggunakannya di aplikasi Anda, kodenya juga akan disertakan dalam aplikasi Anda.


Jika Anda akrab dengan Maven, sintaks ini bisa ditulis dengan GroupId, titik dua, ArtifactId, titik dua lainnya, lalu versi dependensi yang ingin Anda sertakan.


Meskipun sangat mungkin untuk menentukan versi artifact menggunakan tanda plus (+), praktik terbaik adalah dengan menghindari hal tersebut; karena dapat menyebabkan masalah jika library diperbarui tanpa sepengetahuan Anda, sehingga ada kemungkinan terjadi gangguan di aplikasi Anda.


Anda dapat menambahkan berbagai jenis dependensi:

  • local binary dependencies
  • module dependencies
  • remote dependencies


Catatan tentang -v7 di appcompat-v7
implementation 'com.android.support:appcompat-v7:25.3.1'


Dengan disertakannya library tersebut, ini berarti bahwa library ini (appcompat) kompatibel dengan API Android level 7 dan setelahnya.


Catatan tentang junit: junit: 4.12


Junit adalah dependensi pengujian untuk pengujian Unit.


Menentukan dependensi khusus untuk konfigurasi build yang berbeda


Anda dapat menentukan bahwa dependensi hanya boleh digunakan untuk konfigurasi build tertentu atau Anda dapat menentukan dependensi yang berbeda untuk tipe build atau product flavors (misalnya, debug, tes atau rilis) dengan menggunakan debugCompile, testCompile atau releaseCompile daripada menggunakan kompilasi biasa .

Baca juga:  Panduan Setting AVD (Android Virtual Device)


Ini sangat membantu untuk menjaga dependensi terkait dan debug dari versi rilis Anda, yang akan membuat rilis APK Anda seramping mungkin dan membantu memastikan bahwa informasi debug tidak dapat digunakan untuk mendapatkan informasi internal tentang aplikasi Anda.


signingConfig

SigningConfig memungkinkan Anda mengkonfigurasi Gradle dengan menyertakan informasi keystore dan memastikan bahwa APK yang dibangun menggunakan konfigurasi yang telah ditandatangani dan siap untuk rilis ke Play Store.


Catatan: Namun tidak disarankan untuk menyimpan penandatanganan resmi di dalam file Gradle Anda. Untuk menghapus konfigurasi penandatanganan, cukup hilangkan bagian signingConfigs. Anda dapat menentukannya menggunakan cara yang berbeda:

1. menyimpan dalam file eksternal
2. menyimpannya dalam pengaturan lingkungan variabel.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *