Tambahkan pustaka GitHub ke Android Studio, menggunakan Maven, JCenter, dan JitPack

Pengarang: Lewis Jackson
Tanggal Pembuatan: 13 Boleh 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
How to create an Android library. GitHub, Gradle, Jitpack.io full walkthrough.
Video: How to create an Android library. GitHub, Gradle, Jitpack.io full walkthrough.

Isi


Sangat sedikit proyek Android yang merupakan pulau! Sebagian besar proyek Android memiliki ketergantungan pada sejumlah komponen lain, termasuk perpustakaan Android pihak ketiga.

Pustaka Android berisi file yang sama dengan yang Anda temukan di proyek Android biasa, seperti kode sumber, sumber daya, dan Manifest. Namun, alih-alih mengkompilasi ke dalam Paket Kit Android (APK) yang dapat berjalan pada perangkat Android, perpustakaan mengkompilasi ke dalam arsip kode yang dapat Anda gunakan sebagai ketergantungan proyek. Perpustakaan ini memberi Anda akses ke berbagai fungsi tambahan, termasuk beberapa fitur yang tidak termasuk dalam platform vanilla Android.

Salah satu tempat terbaik untuk menemukan perpustakaan Android, adalah GitHub. Namun, mendapatkan perpustakaan dari halaman GitHub-nya dan masuk ke proyek Anda tidak selalu mudah, terutama karena ada beberapa repositori berbeda yang dapat digunakan pengembang untuk mendistribusikan proyek GitHub mereka - dan mungkin tidak selalu jelas repositori mana yang digunakan pengembang!


Dalam artikel ini, saya akan menunjukkan kepada Anda cara mengimpor perpustakaan yang Anda temukan di GitHub ke proyek Android Anda, terlepas dari apakah Anda ingin menambahkan perpustakaan sebagai dependensi jarak jauh, atau sebagai dependensi lokal.

Menambahkan dependensi jarak jauh

Sistem pembangunan Android Studio Gradle menambahkan perpustakaan ke proyek Anda sebagai modul ketergantungan. Ketergantungan ini dapat ditempatkan di repositori jarak jauh, seperti Maven atau JCenter, atau disimpan di dalam proyek Anda, sebagai ketergantungan lokal - Anda hanya perlu memberi tahu Gradle di mana ia dapat menemukan dependensi ini.

Menambahkan perpustakaan sebagai ketergantungan jarak jauh biasanya merupakan cara tercepat dan termudah untuk memasukkan kode perpustakaan ke dalam proyek Anda, jadi ini adalah metode yang akan kita lihat terlebih dahulu. Ketika Anda menambahkan perpustakaan sebagai dependensi jarak jauh, Gradle akan memastikan bahwa dependensi memiliki semua yang diperlukan untuk dapat dijalankan, termasuk transitif dependensi, jadi Anda biasanya ingin menambahkan perpustakaan sebagai dependensi jarak jauh sedapat mungkin.


Untuk menambahkan ketergantungan jarak jauh, Anda harus memberi Gradle dua informasi:

  • Repositori. Gradle perlu mengetahui repositori (atau repositori) di mana ia harus mencari perpustakaan Anda (atau perpustakaan). Perpustakaan Android cenderung didistribusikan melalui Maven Central atau JCenter.
  • Pernyataan kompilasi. Ini berisi nama paket perpustakaan, nama grup perpustakaan, dan versi perpustakaan yang ingin Anda gunakan.

Idealnya, halaman GitHub perpustakaan harus memberi Anda semua informasi ini. Pada kenyataannya hal ini tidak selalu terjadi, tetapi mari kita mulai dengan skenario kasus terbaik dan menganggap bahwa halaman GitHub perpustakaan memang menyertakan informasi ini.

Menambahkan ketergantungan jarak jauh dengan JCenter

StyleableToast adalah perpustakaan yang memungkinkan Anda menyesuaikan setiap bagian dari toasts Android, termasuk mengubah warna latar belakang, radius sudut dan font, dan menambahkan ikon. Ini juga menyediakan semua informasi yang Anda butuhkan untuk menambahkan perpustakaan ini ke proyek Anda, di bagian 'Instalasi' khusus. Di sini, kita dapat melihat bahwa proyek ini didistribusikan melalui JCenter.

Saat Anda membuat proyek dengan rilis terbaru Android Studio, file build.gradle proyek Anda sudah disiapkan untuk mendukung JCenter. Jika Anda membuka file build.gradle tingkat proyek Anda, maka Anda akan melihat bahwa JCenter sudah termasuk dalam bagian 'semua proyek / repositori':

allprojects {repositories {jcenter ()}}

Catatan, file build.gradle tingkat proyek berisi dua blok 'repositori', tetapi blok 'buildscript / repositori' adalah tempat Anda menentukan bagaimana Gradle melakukan build ini. Anda tidak harus menambahkan dependensi modul apa pun ke bagian ini.

Karena proyek Anda sudah dikonfigurasi untuk memeriksa JCenter, satu-satunya hal yang perlu kita lakukan adalah menambahkan pernyataan kompilasi kami ke file build.gradle tingkat modul.

Sekali lagi, StyleableToast memberi kami informasi persis yang kami butuhkan, jadi cukup salin pernyataan kompilasi dari halaman GitHub StyleableToast, dan rekatkan ke file Gradle Anda:

dependencies {kompilasi com.muddzdev: styleabletoast: 1.0.8}

Sinkronkan file Gradle Anda, baik dengan mengeklik spanduk 'Sinkronkan', atau dengan memilih ikon 'Sinkronkan Proyek dengan File Gradle' di bilah alat. Gradle kemudian akan meminta server JCenter untuk memeriksa bahwa perpustakaan Styleabletoast ada, dan mengunduh semua file-nya. Anda sekarang siap untuk mulai menggunakan perpustakaan ini!

2. Menambahkan ketergantungan jarak jauh dengan Maven Central

Atau, jika halaman GitHub proyek menyatakan bahwa perpustakaan ini didistribusikan melalui Maven Central, maka Anda harus memberi tahu Gradle untuk memeriksa Maven Central sebagai gantinya.

Buka file build.gradle tingkat proyek Anda dan tambahkan Maven Central ke blok "allprojects":

allprojects {repositori {mavenCentral ()}}

Dari sini, sisa prosesnya persis sama: buka file build.gradle tingkat modul Anda, tambahkan pernyataan kompilasi dan sinkronkan dengan Gradle.

3. Menambahkan ketergantungan jarak jauh yang di-host di server sendiri

Kadang-kadang, Anda mungkin menemukan proyek yang masih didistribusikan melalui JCenter atau Maven Central, tetapi pengembang telah memilih untuk meng-host proyek mereka di server mereka sendiri. Ketika hal ini terjadi, halaman GitHub proyek harus memberi tahu Anda untuk menggunakan URL yang sangat spesifik, misalnya repositori Kit Crashlytics Fabric dari Fabric terletak di https://maven.fabric.io/public.

Jika Anda melihat URL jenis ini, maka Anda harus membuka file build.gradle tingkat proyek, dan kemudian mendeklarasikan repositori (dalam hal ini, Maven) bersama dengan URL yang tepat:

repositori {maven {url https://maven.fabric.io/public}}

Anda kemudian dapat menambahkan pernyataan kompilasi dan menyinkronkan file Anda seperti biasa.

Bagaimana jika saya tidak dapat menemukan repositori dan / atau kompilasi pernyataan?

Sampai sekarang, kami optimis dan menganggap bahwa proyek tersebut adalah GitHub selalu memberi tahu Anda semua informasi yang perlu Anda ketahui. Sayangnya ini tidak selalu demikian, jadi mari kita beralih dari skenario kasus terbaik, ke skenario kasus terburuk, dan bayangkan bahwa halaman GitHub proyek tidak memberikan Anda informasi tentang repositori dan pernyataan kompilasi yang perlu Anda gunakan.

Dalam skenario ini, Anda dapat:

  • Gunakan JitPack.
  • Kloning seluruh repositori, dan impor kodenya ke proyek Anda sebagai modulnya sendiri.

Menggunakan JitPack

JitPack adalah repositori paket untuk Git yang memungkinkan Anda menambahkan proyek GitHub sebagai dependensi jarak jauh. Selama pustaka berisi file build, JitPack dapat menghasilkan semua informasi yang Anda butuhkan untuk menambahkan pustaka ini ke proyek Anda.

Langkah pertama, adalah membuka file build.gradle tingkat proyek Anda dan menambahkan JitPack sebagai repositori:

allprojects {repositori {maven {url https://jitpack.io}}}

Anda kemudian dapat menggunakan situs web JitPack untuk menghasilkan pernyataan kompilasi, berdasarkan pada URL GitHub proyek itu:

  • Di browser web Anda, navigasikan ke halaman GitHub perpustakaan. Salin URL-nya.
  • Kepala ke situs web JitPack.
  • Rekatkan URL ke bidang pencarian situs web dan kemudian klik tombol 'Cari' yang menyertainya.
  • Halaman web kemudian akan menampilkan tabel dari semua versi perpustakaan ini, terbagi menjadi beberapa tab: Rilis, Bangun, Cabang dan Komit. Biasanya, Siaran cenderung lebih stabil, sedangkan bagian Komit berisi perubahan terbaru.

  • Setelah Anda memutuskan versi apa yang ingin Anda gunakan, klik tombol 'Get It' yang menyertainya.
  • Situs web harus memperbarui untuk menampilkan pernyataan kompilasi yang tepat yang perlu Anda gunakan.

  • Salin / tempel pernyataan kompilasi ini ke file build.gradle tingkat modul proyek Anda.
  • Sinkronkan file Gradle Anda, dan Anda siap untuk mulai menggunakan perpustakaan Anda!

Mengkloning proyek GitHub

Atau, saat Anda tidak yakin tentang repositori dan / atau kompilasi pernyataan perpustakaan, Anda mungkin ingin klon proyek GitHub. Kloning membuat salinan dari semua kode dan sumber daya proyek GitHub, dan menyimpan salinan ini di mesin lokal Anda. Anda kemudian dapat mengimpor klon ke proyek Anda sebagai modul sendiri, dan menggunakannya sebagai ketergantungan modul.

Metode ini dapat memakan waktu, dan mengimpor keseluruhan kode proyek dapat menyebabkan konflik dengan bagian lain dari proyek Anda. Namun, kloning memang memberi Anda akses ke semua kode perpustakaan, jadi metode ini sangat ideal jika Anda ingin menyesuaikan perpustakaan, misalnya dengan mengubah kode untuk mengintegrasikan lebih baik dengan sisa proyek Anda, atau bahkan menambahkan fitur baru (walaupun jika Anda merasa orang lain mungkin mendapat manfaat dari perubahan Anda, maka Anda mungkin ingin mempertimbangkan untuk menyumbang perbaikan Anda kembali ke proyek).

Untuk mengkloning proyek GitHub:

  • Buat akun GitHub.
  • Pilih ‘Checkout dari Kontrol Versi’ dari layar ‘Welcome’ Android Studio.
  • Masukkan kredensial GitHub Anda.
  • Buka browser web Anda, navigasikan ke repositori GitHub yang ingin Anda tiru, dan kemudian salin / tempel URL-nya ke dalam dialog Android Studio.
  • Tentukan direktori lokal tempat Anda ingin menyimpan repositori hasil kloning.
  • Beri nama direktori ini, lalu klik ‘Klon.’

Sekarang Anda memiliki salinan kode perpustakaan, Anda dapat mengimpor perpustakaan ini ke proyek Android Anda, sebagai modul baru:

  • Buka proyek tempat Anda ingin menggunakan perpustakaan yang dikloning, lalu pilih ‘File> Baru> Impor Modul’ dari bilah alat Android Studio.
  • Klik tombol tiga titik dan navigasikan ke repositori hasil kloning Anda. Pilih repositori ini, lalu klik ‘OK.’
  • Klik ‘Selesai.’
  • Pilih ‘File> Struktur proyek’ dari bilah alat Android Studio.
  • Di menu sebelah kiri, pilih modul tempat Anda ingin menggunakan perpustakaan ini.
  • Pilih tab ‘Dependensi’.

  • Pilih ikon ‘+’ kecil, diikuti oleh ‘Ketergantungan modul.’
  • Pilih modul perpustakaan Anda, lalu klik ‘OK.’
  • Keluar dari jendela 'Struktur proyek'.

Bergantung pada perpustakaan yang Anda gunakan, Anda mungkin perlu membuat beberapa penyesuaian pada kode yang Anda impor sebelum proyek Anda akan dikompilasi. Misalnya jika tab Android Studio mengeluh tentang minSdkVersions yang tidak kompatibel, maka kemungkinannya adalah API yang digunakan oleh perpustakaan tidak kompatibel dengan versi platform Android yang ditentukan dalam file build.gradle proyek Anda. Demikian pula, jika Android Studio mengeluh tentang buildToolsVersion proyek Anda, maka kemungkinan ada ketidaksesuaian antara versi yang ditentukan di perpustakaan dan versi yang ditentukan di tempat lain di proyek Anda. Di kedua skenario ini, Anda harus memeriksa nilai yang ditentukan di kedua file build.gradle, dan mengubahnya sesuai.

Penyelesaian masalah

Saat Anda bekerja dengan apa saja jenis perangkat lunak pihak ketiga, sebagai aturan umum Anda lebih mungkin mengalami ketidakcocokan, bug, dan semua-sekitar aneh perilaku, dibandingkan dengan ketika Anda menggunakan serangkaian perangkat lunak yang dikembangkan oleh tim yang sama, dan di mana setiap bagian dari teka-teki dirancang khusus untuk bekerja bersama.

Jika Anda mengalami masalah setelah menambahkan pustaka ke proyek Anda, cobalah perbaikan berikut:

  • Pastikan Anda tidak sengaja menambahkan beberapa versi dari perpustakaan yang sama. Jika Android Studio melaporkan kesalahan "beberapa file DEX define ...", maka Anda mungkin telah menambahkan perpustakaan yang sama ke proyek Anda lebih dari sekali. Anda dapat meninjau dependensi modul Anda dengan memilih ‘File> Struktur proyek’ dari bilah alat Android Studio, lalu memilih modul yang ingin Anda periksa, dan mengklik tab ‘Ketergantungan’. Jika perpustakaan muncul di jendela ini beberapa kali, lalu pilih duplikat, dan klik ikon icon - ’kecil untuk menghapusnya.
  • Cari di Web. Selalu ada kemungkinan orang lain mungkin mengalami masalah yang sama dengan Anda, jadi lakukan pencarian Google cepat untuk melihat apakah ada orang yang memposting tentang masalah ini di forum, atau komunitas seperti Stackoverflow. Anda bahkan mungkin beruntung dan menemukan blog atau tutorial yang memuat petunjuk tentang cara mengatasi masalah yang sebenarnya ini.
  • Bersihkan dan bangun kembali proyek Anda. Terkadang, memilih ‘Build> Clean project’ dari bilah alat Android Studio, diikuti oleh ‘Build> Rebuild project,’ mungkin cukup untuk menyelesaikan masalah Anda.
  • Dan jika semuanya gagal ... Agar perangkat lunak pihak ketiga berfungsi dengan benar kadang-kadang membutuhkan sedikit percobaan dan kesalahan, jadi jika ada metode alternatif mengimpor perpustakaan yang Anda pilih, maka itu selalu patut dicoba. Hanya karena proyek Anda menolak untuk dikompilasi setelah Anda mengimpor repositori yang dikloning, tidak berarti bahwa itu akan memiliki reaksi yang sama jika Anda mencoba menggunakan perpustakaan yang sama itu sebagai dependensi jarak jauh.

Membungkus

Dalam artikel ini, kami melihat bagaimana Anda dapat menambahkan perpustakaan yang Anda temukan di GitHub, ke proyek Android Anda, terlepas dari apakah perpustakaan itu didistribusikan melalui JCenter atau Maven Central. Dan, bahkan jika Anda tidak tahu repositori atau kompilasi pernyataan apa yang perlu Anda gunakan, maka Anda selalu memiliki opsi untuk menggunakan JitPack, atau mengkloning kode perpustakaan.

Sudahkah Anda menemukan perpustakaan Android hebat di GitHub? Beri tahu kami di komentar di bawah!

Mekipun banyak yang percaya 5G terlalu berlebihan, tidak ada pertanyaan bahwa itu adalah teknologi yang angat penting yang pada akhirnya akan mengantar era baru perangkat yang aling berhubungan. Namun...

Latency adalah apek paling kuat dari jaringan 5G eluler yang akan datang, kata Jan Geldmacher, preiden print Buine, dan dapat mengantar era internet yang ebenarnya....

Kami Menyarankan