Bekerja Dengan Gradle di Android | KafeinKode

Bekerja Dengan Gradle di Android

Anonim Tue, September 11, 2018 No Comments

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.

[br]Dasar build.gradle file

Bekerja-Dengan-Gradle-di-Android
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'
} 

[br] DSL (domain-specific language)

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

[br] 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.

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

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

[br] Memahami DSL pada contoh di atas

Baca juga:  Aplikasi BPJS Kesehatan Online Untuk PC dan Mobile

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

[br] 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.

[br] Anda dapat menemukan info lebih lanjut dalam contoh-contoh ini:

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

[br] Dependencies

[br] 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.

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

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

Baca juga:  6 Aplikasi Adzan Otomatis Gratis Terbaik

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

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

[br] 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.

[br] Anda dapat menambahkan berbagai jenis dependensi:

  • local binary dependencies
  • module dependencies
  • remote dependencies

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

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

[br]Catatan tentang junit: junit: 4.12

[br]Junit adalah dependensi pengujian untuk pengujian Unit.

[br]Menentukan dependensi khusus untuk konfigurasi build yang berbeda

[br]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:  Download 10 Tema Keyboard Android Keren Lucu Gratis

[br]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.

[br] 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.

[br] 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.

[shareaholic app="share_buttons" id="20730860"]
[shareaholic app="recommendations" id="20730868"]

0 comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Please disable your adblock for read our content.
Refresh