Random post

Saturday, August 26, 2017

√ Mempelajari Dan Mengenal Gradle Di Android Studio

komputerdia.com - Apa itu Gradle ? Secara fungsionalnya gradle ialah sebuah build tools yang disematkan pada apliaksi Android Studio, dimana fungsi utamanya ialah sebagai media untuk mencompile atau menjalankan project aplikasi yang sedang kalian kerjakan , dan mengacu menurut konfigurasi yang berada di serpihan Gradle Script.

Secara sederhana Gradle merupakan open source build system dimana Gradle berfungsi untuk mengubah file yang ada di src dan res (xml dan j4va) menjadi sebuah APK. Sebenarnya kita sanggup menciptakan aplikasi android hanya memakai code editor (notepad++,notepad, sublime)  tanpa memakai menggunakan Android Studio, namun dalam hal ini, kita harus tetap memakai SDK Android. Kemudian dengan memakai gradle file2 tersebut di diubah dan di-compress menjadi apk

Dari beberapa pengertian diatas sanggup ditarik kesimpulan bahwa Secara default Gradle merupakan build tools yang digunakan pada Android Studio, untuk melaksanakan proses Compile-menjalankan project aplikasi yang sedang kalian kembangkan.

Jika pada aplikasi Eclipse build tools yang digunakan ialah Ant, Maka dengan demikian Gradle merupakan pengembangan yang di berdiri dari Ant, Maven, dan repositori lvy

Sementara itu, Android Plugin untuk Gradle sanggup berjalan secara bebas di Android Studio tanpa harus memiliki syarat tertentu. Hal ini sanggup diartikan, bahwa kalian sanggup melaksanakan build Aplikasi Android di dalam Android Studio, serta kalian juga sanggup membuild lewat Command Line dengan memanfaatkan fitur Gradle

Baca Juga Artikel Lainnya :

 Secara fungsionalnya gradle ialah sebuah  √ Mempelajari dan Mengenal Gradle di Android Studio

Penjelasan Gradle Di Android Studio

Ketika kalian sedang mengerjakan project Aplikasi Android, tentunya kalian akan melihat suatu serpihan disebelah kiri layar monitor kalian dan terletak pada struktur project Android, serpihan itulah yang disebut dengan Gradle Script , untuk lebih memahaminya silahkan kalian perhatikan ilustrasi gambar dibawah ini .

 Secara fungsionalnya gradle ialah sebuah  √ Mempelajari dan Mengenal Gradle di Android Studio

Perlu kalian garis bawahi, bahwa aneka macam duduk kasus yang akan dihadapi oleh para developer saat mereka tengah mengerjakan project androidnya, dan hal ini banyak disebabkan lantaran konfigruasi yang dilakukan pada file di Gradle banyak yang tidak berhasil.  

Dalam artikel kali ini saya akan mencoba membahas, fungsi-fungsi dari setiap konfigurasi file , serta Gradle Script  yang terdapat pada android studuio. Mungkin didalam pembahasan ini, saya tidak terlalu menjelaskan secara terperinci, namun saya telah merangkum bagian-bagian inti dari permasalahan tersebut.

Fungsi - Fungsi Yang Terdapat Pada Gradle Android Studio

1. Build.gradle (Module :app)

Seperti yang sanggup kalian lihat pada file dibawah ini,  bahwasannya file tersebut merupakan konfigurasi file app level , yang disematkan pada code apply dengan tujuan untuk menambahkan plugin Android ke dalam build sistem. Pada block code dependencies terdapat tiga baris code. diantaranya ialah :
  • File tree dependency , yang mana baris pertama ini memiliki maksud bahwa semua file dengan extension .jar , di dalam lib folder akan dilakukan proses compile
  • Pada baris kedua menandakan bahwa Gradle menambahkan appcompat-v7 jar versi 24.2.1  dari Android Support Library
  • Baris ketiga menandakan bahwa Gradle mend0wnl0ad Junit versi 4.12, yang mana fungsi code testCompile tersebut akan menyediakan class-class di dalam app/src/androidTest/Java , dan juga src/test/j4va pada struktur project, yang akan kita gunakan untuk unit test.
apply plugin: 'com.android.application'   android {     compileSdkVersion 24     buildToolsVersion "24.0.2"     defaultConfig {         applicationId "example.android.practiceset2"         minSdkVersion 17         targetSdkVersion 24         versionCode 1         versionName "1.0"         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"     }     buildTypes {         release {             minifyEnabled false             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'         }     } }   dependencies {     compile fileTree(dir: 'libs', include: ['*.jar'])     compile 'com.android.support:appcompat-v7:24.2.1'     testCompile 'junit:junit:4.12' }

2. Proses Building

Proses Building ini merupakan suatu proses yang diklaim memang melibatkan banyak tools, kemudian pada proses tersebut juga akan mengconvert sebuah project ke dalam Android Package (APK). Untuk memperjelas duduk kasus tersebut, silahkan kalian perhatikan ilustrasi gambar dibawah ini 
 Secara fungsionalnya gradle ialah sebuah  √ Mempelajari dan Mengenal Gradle di Android Studio

3. Build.gradle (Project :Nama Project)

Dibawah ini ialah rujukan dari file Build.gradle, silahkan kalian simak terlebih dahulu
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
Pada conroh file diatas, sanggup kita jelaskan beberapa kesimpulan ibarat dibawah ini :
  • Seperti yang sanggup kalian lihat , di atas merupakan rujukan konfigurasi file top level,  yang mana kalian sanggup menciptakan atau menambahkan pilihan konfigurasi secara umum untuk project turunanan / modules.  Code block buildscript , intinya difungsikan untuk mend0wnl0ad sebuah plugin yang di perlukan oleh Gradle. Contoh kecilnya ibarat pada isyarat diatas, dimana fungsi isyarat tersebut ialah sebagai jalur yang digunakan untuk  mengunduh repository jcenter.
  • Secara umum Gradle tidak memasukan fungsi-fungsi Android. Namun untuk mengatasi duduk kasus ini, Google telah menyediakan Android Plugin untuk Gradle ,yang telah terbukti sanggup membantu kalian untuk mempermudah melaksanakan konfigurasi pada file project Android.
  • Untuk code allprojects, secara basicnya berfungsi untuk menandakan bahwa project top level atau project turunan yang di konfigurasi secara bawaan, akan melaksanakan proses pen-d0wnl0adan plugin atau library Java yang berada pada repository jcenter.
  • Untuk code task clean, kalau melihat fungsinya, isyarat ini hampir sama dengan tipe delete, hal ini mengindikasikan bahwa direktori build akan dihapus pada project root atau utama kalian. Karena secara default, hal ini berada pada build di top level.

4. Settings.gradle (include ':app')

Apa laba yang sanggup kita dapatkan dari fitur gradle? Salah satu laba yang sanggup kita dapatkan dari Gradle ialah kita sanggup menciptakan sebuah multi-project. Dengan demikian, sudah sanggup kita tebak, bahwa code include menandakan suatu project yang berada di dalam suatu aplikasi,  pada serpihan settings.gradle ini, kalian sanggup menambahkan  suatu library project turunan , dan sanggup kalian manfaatkan untuk mendukung project utama dari Aplikasi yang sedang kalian kerjakan.

Tips Sederhana Gradle

Gradle dan Android plugin intinya telah menyediakan cara yang fleksibel (mudah) untuk mengompilasi, membangun, dan mengemas aplikasi atau library Android kalian. Di artikel kali  ini saya telah mengumpulkan beberapa tips dan konfigurasi yang penting untuk membantu kalian dalam memaksimalkan hasil dari masing-masing build.

A. Mengubah konfigurasi set sumber default

Dalam masalah ini, kalian sanggup memakai blok sourceSets di file build.gradle tingkat-modul untuk mengubah lokasi Gradle mengumpulkan file untuk setiap komponen dari set sumber.
android {   ...   sourceSets {     // Encapsulates configurations for the main source set.     main {       // Changes the directory for Java sources. The default directory is       // 'src/main/j4va'.       j4va.srcDirs = ['other/j4va']        // When you list multiple directories, Gradle uses all of them to collect       // sources. You should avoid specifying a directory which is a parent to one       // or more other directories you specify.       res.srcDirs = ['other/res1', 'other/res2']        // For each source set, you can specify only one Android manifest.       // The following points Gradle to a different manifest for this source set.       manifest.srcFile 'other/AndroidManifest.xml'       ...     }      // Create additional blocks to configure other source sets.     androidTest {        // If all the files for a source set are located under a single root       // directory, you can specify that directory using the setRoot property.       // When gathering sources for the source set, Gradle looks only in locations       // relative to the root directory you specify. For example, after applying       // the configuration below for the androidTest source set, Gradle looks for       // Java sources only in the src/tests/j4va/ directory.       setRoot 'src/tests'       ...     }   } } ... 

B. Mengkonfigurasi properti lingkup-project

Perlu diperhatikan, bahwa untuk project yang meliputi beberapa modul, Saya  sarankan semoga kalian memilih properti di tingkat project dan membagikannya ke semua modul. Dalam hal ini kalian sanggup melaksanakan dengan menambahkan properti komplemen ke blok ext di file build.gradle tingkat atas.
buildscript {...} allprojects {...}  // This block encapsulates custom properties and makes them available to all // modules in the project. ext {     // The following are only a few examples of the types of properties you can define.     compileSdkVersion = 28     buildToolsVersion = "29.0.0"      // You can also use this to specify versions for dependencies. Having consistent     // versions between modules can avoid behavior conflicts.     supportLibVersion = "28.0.0"     ... } ... 
Sementara itu, untuk melaksanakan saluran properti-properti dari modul dalam project yang sama, kalian sanggup memakai sintaks berikut pada file build.gradletingkat modul
android {   // Use the following syntax to access properties you defined at the project level:   // rootProject.ext.property_name   compileSdkVersion rootProject.ext.compileSdkVersion   buildToolsVersion rootProject.ext.buildToolsVersion   ... } ... dependencies {     compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"     ... }

Sumber http://www.komputerdia.com