بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

Kumpulan Materi Management Informatika untuk SMA Islam Lembah Arafah

dan Kumpulan Hasil karya Siswa Lembah Arafah


Kategori reactnative    
  • Gradle

    Struktur direktori Gradle adalah susunan folder dan file yang digunakan oleh Gradle untuk mengelola proyek dan build. Dalam konteks pengembangan aplikasi, terutama aplikasi Android, Gradle mengatur folder dan file yang diperlukan untuk mengelola dependensi, build scripts, output build, dan konfigurasi lainnya.

    Berikut adalah struktur direktori Gradle yang umum ditemukan dalam proyek Android berbasis Gradle:

    1. Root Directory (/)

    Ini adalah direktori utama proyek di mana semua file dan folder proyek berada, termasuk file Gradle utama yang mengatur seluruh proyek.

    /your-project
    │
    ├── build.gradle               # Build script untuk seluruh proyek (Project-level)
    ├── settings.gradle            # Menentukan proyek dan modul yang disertakan dalam build
    ├── gradle.properties          # Konfigurasi properti global Gradle untuk proyek
    ├── gradlew                    # Skrip untuk menjalankan Gradle di sistem tanpa instalasi Gradle
    ├── gradlew.bat                # Skrip Gradle untuk Windows
    ├── /gradle                    # Direktori untuk wrapper Gradle
    │   └── wrapper                # Berisi file Gradle wrapper
    ├── /app                       # Modul utama proyek (modul Android)
    │   ├── build.gradle           # Build script spesifik untuk modul ini (App-level)
    │   └── src                    # Folder sumber kode untuk modul ini
    ├── /build                     # Folder output untuk hasil build
    └── /node_modules              # Folder yang berisi dependensi Node.js untuk proyek React Native (jika digunakan)
    

    2. File di Root Directory

    • build.gradle (Project-level): Ini adalah file build script utama yang mengatur konfigurasi global untuk seluruh proyek. Di sini, kita bisa mendefinisikan repositori yang akan digunakan, dependensi, dan plugin untuk seluruh proyek.

    • settings.gradle: File ini mendefinisikan modul-modul atau subproyek yang termasuk dalam proyek. Biasanya digunakan untuk meng-include modul Android (:app) dan, jika ada, modul-modul lain.

    • gradle.properties: File ini menyimpan properti-properti global yang digunakan oleh Gradle untuk proyek. Ini sering digunakan untuk pengaturan seperti versi SDK, pengelolaan heap memory, dan pengaturan lingkungan.

    • gradlew dan gradlew.bat: Ini adalah skrip Gradle Wrapper yang memungkinkan proyek dibangun menggunakan Gradle tanpa harus menginstal Gradle secara manual di sistem. gradlew digunakan untuk sistem berbasis UNIX (Linux, macOS), dan gradlew.bat untuk Windows.

    3. Folder /gradle/wrapper

    Folder ini berisi file untuk Gradle wrapper, yang memungkinkan proyek dibangun dengan versi Gradle yang spesifik. Ini penting agar semua anggota tim menggunakan versi Gradle yang sama tanpa harus menginstal versi Gradle tersebut secara manual.

    /gradle
    └── /wrapper
        ├── gradle-wrapper.jar           # File JAR untuk Gradle Wrapper
        └── gradle-wrapper.properties    # Properti untuk mengatur versi Gradle yang digunakan
    
    • gradle-wrapper.properties: File ini menentukan versi Gradle yang digunakan oleh Gradle Wrapper. Ini memastikan bahwa setiap orang yang membangun proyek akan menggunakan versi yang sama.

      Contoh isinya:

      distributionBase=GRADLE_USER_HOME
      distributionPath=wrapper/dists
      distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
      zipStoreBase=GRADLE_USER_HOME
      zipStorePath=wrapper/dists
      

    4. Modul app/ (Modul Android)

    Folder app/ adalah modul utama proyek Android yang berisi kode sumber, sumber daya, dan konfigurasi untuk aplikasi Android. Di sini juga terdapat file build.gradle spesifik untuk modul ini.

    /app
    ├── build.gradle           # Build script untuk modul Android (App-level)
    ├── src                    # Folder sumber kode
    │   ├── /main
    │   │   ├── AndroidManifest.xml   # Deskripsi komponen aplikasi Android
    │   │   ├── /java                 # Kode sumber aplikasi dalam Java/Kotlin
    │   │   ├── /res                  # Folder untuk sumber daya aplikasi (gambar, layout, dll)
    │   │   └── /assets               # Folder untuk menyimpan aset seperti font, file JSON, dll
    │   └── /test                     # Folder untuk kode tes (unit testing, instrumented tests)
    └── proguard-rules.pro    # Konfigurasi untuk ProGuard (jika digunakan untuk optimasi dan obfuscation)
    

    4.1 File build.gradle (App-level)

    Ini adalah file build script yang digunakan untuk mengonfigurasi modul app. Di sini, Anda bisa menentukan versi SDK, dependensi aplikasi, pengaturan ProGuard, dan build types (seperti debug dan release).

    Contoh isi:

    android {
        compileSdkVersion 33
        defaultConfig {
            applicationId "com.example.myapp"
            minSdkVersion 21
            targetSdkVersion 33
            versionCode 1
            versionName "1.0"
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        implementation 'androidx.appcompat:appcompat:1.3.0'
        implementation 'com.facebook.react:react-native:+'
    }
    

    5. Folder /build

    Folder ini berisi hasil kompilasi dan output build yang dihasilkan oleh Gradle. Folder ini biasanya tidak perlu disimpan dalam sistem kontrol versi (seperti Git) karena isinya bisa diregenerasi oleh Gradle.

    /build
    ├── /outputs                 # Berisi file APK atau AAB yang dihasilkan
    ├── /intermediates           # Berisi file sementara yang digunakan saat proses build
    └── /generated               # Berisi file kode yang dihasilkan (seperti file dari Data Binding atau R.java)
    

    6. Folder /node_modules (untuk React Native)

    Untuk proyek React Native, folder ini berisi semua dependensi JavaScript yang diunduh melalui npm atau yarn. Folder ini digunakan untuk mengelola semua pustaka pihak ketiga JavaScript.


    Kesimpulan

    Struktur direktori Gradle dalam proyek Android atau React Native mengelola berbagai aspek pengembangan, dari manajemen dependensi hingga proses build otomatis. Dengan memahami susunan folder dan file yang ada, Anda dapat lebih mudah mengonfigurasi dan memelihara proyek, baik untuk pengembangan, pengujian, maupun untuk membuat aplikasi siap dipublikasikan.