Tambah mana-mana perpustakaan GitHub ke Android Studio, menggunakan Maven, JCenter dan JitPack

Pengarang: Lewis Jackson
Tarikh Penciptaan: 13 Mungkin 2021
Tarikh Kemas Kini: 1 Julai 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.

Kandungan


Sangat sedikit projek Android adalah sebuah pulau! Majoriti projek Android mempunyai kebergantungan pada beberapa komponen lain, termasuk perpustakaan Android pihak ketiga.

Pustaka Android mengandungi fail yang sama yang anda dapati dalam projek Android biasa, seperti kod sumber, sumber, dan Manifes. Walau bagaimanapun, bukannya menyusun dalam Kit Pakej Android (APK) yang boleh berjalan pada peranti Android, sebuah perpustakaan akan dikompil ke dalam arkib kod yang boleh anda gunakan sebagai kebergantungan projek. Perpustakaan ini memberikan anda akses kepada pelbagai fungsi tambahan, termasuk beberapa ciri yang tidak termasuk dalam platform Android vanila.

Salah satu tempat terbaik untuk mencari perpustakaan Android, ialah GitHub. Walau bagaimanapun, mendapatkan sebuah perpustakaan dari halaman GitHub dan ke dalam projek anda tidak selalu mudah, terutamanya kerana terdapat beberapa repositori yang berbeza yang boleh digunakan oleh para pemaju untuk mengedarkan projek GitHub mereka - dan tidak semestinya jelas yang mana repositori pemaju menggunakan!


Dalam artikel ini, saya akan menunjukkan kepada anda bagaimana untuk mengimport mana-mana perpustakaan yang anda temui di GitHub ke dalam projek Android anda, tanpa mengira sama ada anda mahu menambah pustaka sebagai kebergantungan terpencil, atau sebagai pergantungan tempatan.

Menambah kebergantungan terpencil

Sistem binaan Gradle Android Studio menambah pustaka kepada projek anda sebagai modul kebergantungan. Ketergantungan ini boleh terletak di repositori jauh, seperti Maven atau JCenter, atau mereka boleh disimpan di dalam projek anda, sebagai pergantungan tempatan - anda hanya perlu membiarkan Gradle tahu di mana ia dapat mencari dependensi ini.

Menambah perpustakaan sebagai kebergantungan jauh biasanya merupakan cara yang paling cepat dan paling mudah untuk mendapatkan kod perpustakaan dalam projek anda, jadi ini adalah kaedah yang akan kita lihat pada mulanya. Apabila anda menambah perpustakaan sebagai pergantungan jauh, Gradle akan memastikan bahawa pergantungan mempunyai semua yang diperlukan untuk dapat dijalankan, termasuk mana-mana transitif kebergantungan, jadi anda biasanya ingin menambah perpustakaan sebagai kebergantungan jauh di mana mungkin.


Untuk menambahkan pergantungan jauh, anda perlu memberikan Gradle dengan dua maklumat:

  • Repositori. Gradle perlu mengetahui repositori (atau repositori) di mana ia perlu mencari pustaka (atau perpustakaan) anda. Perpustakaan Android cenderung untuk diedarkan melalui Maven Central atau JCenter.
  • Kenyataan kompilasi. Ini mengandungi nama pakej perpustakaan, nama kumpulan perpustakaan, dan versi perpustakaan yang anda ingin gunakan.

Sebaik-baiknya, halaman GitHub perpustakaan harus memberi anda semua maklumat ini. Pada hakikatnya ini tidak selalu berlaku, tapi mari bermula dengan senario kes terbaik dan mengandaikan bahawa halaman GitHub perpustakaan itu termasuk maklumat ini.

Menambah pergantungan jauh dengan JCenter

StyleableToast adalah perpustakaan yang membolehkan anda menyesuaikan setiap bahagian Android toasts, termasuk mengubah warna latar belakang, jejari sudut dan fon, dan menambahkan ikon. Ia juga menyediakan semua maklumat yang anda perlukan untuk menambah perpustakaan ini ke projek anda, dalam bahagian 'Pemasangan' yang khusus. Di sini, kita dapat melihat bahawa projek ini diedarkan melalui JCenter.

Apabila anda membuat projek dengan keluaran terbaru Android Studio, fail build.gradle projek anda sudah siap untuk menyokong JCenter. Jika anda membuka fail build.gradle tahap projek anda, maka anda akan melihat bahawa JCenter telah dimasukkan ke dalam bahagian 'allprojects / repositories':

allprojects {repositories {jcenter ()}}

Perhatikan, fail build.gradle peringkat projek mengandungi dua blok 'repositori', tetapi blok 'buildscript / repositories' adalah di mana anda menentukan bagaimana Gradle melakukan binaan ini. Anda tidak perlu menambah sebarang dependensi modul ke bahagian ini.

Oleh kerana projek anda sudah dikonfigurasikan untuk memeriksa JCenter, satu-satunya perkara yang perlu kita lakukan ialah menambah pernyataan kompil ke fail build.gradle tahap modul.

Sekali lagi, StyleableToast memberikan kami dengan tepat maklumat yang kami perlukan, jadi salinlah penyata ringkasan dari halaman GitHub StyleableToast, dan tampalkannya ke dalam fail Gradle anda:

dependencies {compile com.muddzdev: styleabletoast: 1.0.8}

Sinkronkan fail Gradle anda, sama ada dengan mengklik banner 'Sync', atau dengan memilih 'Projek Penyelarasan dengan Gradle Files' di bar alat. Gradle kemudian akan menanyakan pelayan JCenter untuk memeriksa bahawa pustaka Styleabletoast ada, dan memuat turun semua failnya. Anda kini bersedia untuk menggunakan perpustakaan ini!

2. Menambah pergantungan jauh dengan Maven Central

Sebagai alternatif, jika halaman GitHub projek menyatakan bahawa perpustakaan ini diedarkan melalui Maven Central, maka anda perlu memberitahu Gradle untuk memeriksa Maven Central sebaliknya.

Buka fail build.gradle tahap projek anda dan tambah Maven Central ke blok "allprojects":

allprojects {repositories {mavenCentral ()}}

Dari sini, seluruh prosesnya adalah sama: buka fail build.gradle tingkat modul anda, tambah penyata ringkasan dan selaraskan dengan Gradle.

3. Menambah pergantungan jauh yang dihoskan pada pelayannya sendiri

Kadang-kadang, anda mungkin menghadapi projek yang masih diedarkan melalui JCenter atau Maven Central, tetapi pemaju telah memilih untuk menjadi tuan rumah projek mereka pada pelayan mereka sendiri. Apabila ini berlaku, halaman GitHub projek harus memberitahu anda untuk menggunakan URL yang sangat spesifik, contohnya repositori Kit Fabric's Crashlytics terletak di https://maven.fabric.io/public.

Sekiranya anda melihat URL jenis ini, maka anda perlu membuka file build.gradle tahap projek anda, dan kemudian mengisytiharkan repositori (dalam contoh ini, Maven) berserta URL yang tepat:

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

Anda kemudian boleh menambah penyataan penyusun dan menyegerakkan fail anda seperti biasa.

Bagaimana jika saya tidak dapat mencari repositori dan / atau penyata ringkasan?

Hingga kini, kami optimis dan menganggap bahawa GitHub projek itu sentiasa memberitahu anda semua maklumat yang anda perlu ketahui. Sayangnya ini tidak selalunya berlaku, jadi mari beralih dari senario kes terbaik, ke senario kes terburuk, dan bayangkan laman GitHub projek itu tidak memberikan anda sebarang maklumat mengenai repositori dan penyata penyata yang perlu anda gunakan.

Dalam senario ini, anda boleh sama ada:

  • Gunakan JitPack.
  • Clone repositori keseluruhan, dan import kod ke dalam projek anda sebagai modul sendiri.

Menggunakan JitPack

JitPack adalah repositori pakej untuk Git yang membolehkan anda menambah projek GitHub sebagai kebergantungan terpencil. Selagi perpustakaan mengandungi fail pembina, JitPack boleh menghasilkan semua maklumat yang anda perlukan untuk menambah perpustakaan ini kepada projek anda.

Langkah pertama ialah membuka fail build.gradle tahap projek anda dan tambah JitPack sebagai repositori:

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

Anda kemudian boleh menggunakan laman web JitPack untuk menghasilkan kenyataan kompilasi, berdasarkan URL GitHub projek itu:

  • Dalam pelayar web anda, navigasi ke halaman GitHub perpustakaan. Salin URLnya.
  • Pergi ke laman web JitPack.
  • Tampalkan URL ke dalam medan carian tapak web dan kemudian klik butang 'Lihatlah' yang disertakan.
  • Halaman web kemudian akan memaparkan jadual semua versi perpustakaan ini, berpecah merentasi pelbagai tab: Siaran, Membina, Cawangan dan Komiti. Lazimnya, Siaran cenderung lebih stabil, sedangkan bahagian Komitmen mengandungi perubahan terbaru.

  • Sebaik sahaja anda telah memutuskan versi yang ingin anda gunakan, klik butang 'Get It' yang disertakan.
  • Laman web perlu mengemaskini untuk memaparkan kenyataan kompilasi tepat yang anda perlukan.

  • Salin / tampal pernyataan kompil ke dalam gedung build.gradle tahap modul projek anda.
  • Sinkronkan fail Gradle anda, dan anda sudah bersedia untuk mula menggunakan pustaka anda!

Cloning a GitHub project

Sebagai alternatif, apabila anda tidak pasti repositori perpustakaan dan / atau penyata kompilasi, anda mungkin mahu klon projek GitHub. Pengklonan membuat salinan semua kod dan sumber projek GitHub, dan menyimpan salinan ini pada mesin tempatan anda. Anda kemudian boleh mengimport klon ke dalam projek anda sebagai modul sendiri, dan menggunakannya sebagai kebergantungan modul.

Kaedah ini boleh memakan masa, dan mengimport keseluruhan kod projek boleh menyebabkan konflik dengan projek anda yang lain. Walau bagaimanapun, pengklonan memberi anda akses kepada semua kod perpustakaan, jadi kaedah ini sangat ideal jika anda ingin menyesuaikan pustaka, contohnya dengan menaikkan kodnya agar lebih terintegrasi dengan seluruh projek anda, atau bahkan menambah ciri-ciri baru (walaupun jika anda rasa orang lain mungkin mendapat manfaat daripada perubahan anda, maka anda mungkin ingin mempertimbangkan penyumbang peningkatan anda kembali kepada projek).

Untuk mengklon projek GitHub:

  • Buat akaun GitHub.
  • Pilih 'Checkout dari Kawalan Versi' dari skrin 'Selamat Datang' Android Studio.
  • Masukkan kelayakan GitHub anda.
  • Buka penyemak imbas web anda, navigasi ke repositori GitHub yang anda mahu klon, dan kemudian salin / tampalkan URLnya ke dalam dialog Android Studio.
  • Tentukan direktori setempat di mana anda ingin menyimpan repositori kloning.
  • Beri nama direktori ini, dan kemudian klik 'Klon.'

Sekarang anda mempunyai salinan kod perpustakaan, anda boleh mengimport perpustakaan ini ke dalam projek Android anda, sebagai modul baru:

  • Buka projek di mana anda ingin menggunakan perpustakaan klon anda, kemudian pilih 'Fail> Baru> Import Module' dari bar alat Android Studio.
  • Klik butang tiga bertitik dan arahkan ke repositori klon anda. Pilih repository ini, kemudian klik 'OK.'
  • Klik 'Selesaikan.'
  • Pilih 'Fail> Struktur projek' dari bar alat Android Studio.
  • Di menu sebelah kiri, pilih modul di mana anda ingin menggunakan perpustakaan ini.
  • Pilih tab 'Ketergantungan'.

  • Pilih ikon '+' kecil, diikuti dengan 'Modul pergantungan.'
  • Pilih modul perpustakaan anda, kemudian klik 'OK.'
  • Keluar dari tetingkap 'Struktur projek'.

Bergantung pada perpustakaan yang anda gunakan, anda mungkin perlu membuat beberapa pelarasan pada kod yang diimport sebelum projek anda akan disusun. Contohnya jika tab Android Studio mengadu tentang minSdkVersions yang tidak sesuai, maka kemungkinan API yang digunakan oleh perpustakaan tidak serasi dengan versi platform Android yang ditakrifkan dalam fail build.gradle projek anda. Begitu juga, jika Android Studio mengadu tentang buildToolsVersion projek anda, maka kemungkinan terdapat ketidaksesuaian antara versi yang ditakrifkan di perpustakaan dan versi yang ditakrifkan di tempat lain dalam projek anda. Dalam kedua-dua senario ini, anda perlu menyemak nilai yang ditakrifkan dalam kedua-dua fail build.gradle, dan mengubahnya dengan sewajarnya.

Penyelesaian masalah

Apabila anda bekerjasama mana-mana jenis perisian pihak ketiga, sebagai peraturan umum, anda lebih cenderung untuk menghadapi ketidakcocokan, pepijat, dan sekelilingnya pelik tingkah laku, berbanding apabila anda menggunakan satu set perisian yang dibangunkan oleh pasukan yang sama, dan di mana setiap bahagian teka-teki direka khusus untuk bekerja bersama.

Jika anda menghadapi masalah selepas menambah perpustakaan ke projek anda, kemudian cuba perbaikan berikut:

  • Semak bahawa anda tidak sengaja menambah pelbagai versi perpustakaan yang sama. Jika Android Studio melaporkan ralat "banyak fail DEX menentukan ...", maka anda mungkin telah menambahkan pustaka yang sama kepada projek anda lebih daripada sekali. Anda boleh menyemak kebergantungan modul anda dengan memilih 'Fail> Struktur projek' dari bar alat Android Studio, kemudian memilih modul yang ingin anda periksa dan mengklik tab 'Dependencies'. Jika perpustakaan muncul dalam tetingkap ini beberapa kali, kemudian pilih pendua, dan klik ikon '-' kecil untuk mengalih keluarnya.
  • Cari web. Selalu ada kemungkinan orang lain mungkin menghadapi masalah yang sama dengan anda, jadi lakukan carian Google cepat untuk melihat sama ada sesiapa telah menyiarkan mengenai isu ini di forum, atau komuniti seperti Stackoverflow. Anda juga mungkin bernasib baik dan mencari blog atau tutorial yang termasuk arahan untuk menyelesaikan isu ini.
  • Bersihkan dan kembalikan semula projek anda. Kadang-kadang, memilih 'Membina> projek Bersih' dari bar alat Android Studio, diikuti dengan 'Membina> Membina semula projek,' mungkin cukup untuk menyelesaikan masalah anda.
  • Dan jika semuanya gagal ... Mendapatkan perisian pihak ketiga untuk berfungsi dengan betul kadang-kadang memerlukan sedikit percubaan dan kesilapan, jadi jika ada kaedah alternatif untuk mengimport perpustakaan pilihan anda, maka itu selalu bernilai mencuba. Hanya kerana projek anda enggan menyusun selepas anda mengimport repositori yang diklon, tidak semestinya bermaksud bahawa ia akan mempunyai reaksi yang sama jika anda cuba menggunakan perpustakaan yang sama sebagai kebergantungan terpencil.

Mengakhiri

Dalam artikel ini, kami melihat bagaimana anda boleh menambah mana-mana perpustakaan yang anda temui di GitHub, untuk projek Android anda, tanpa mengira sama ada perpustakaan itu diedarkan melalui JCenter atau Maven Central. Dan, walaupun anda tidak tahu apa repositori atau penyata penyata yang perlu anda gunakan, maka anda sentiasa mempunyai pilihan untuk menggunakan JitPack, atau kloning kod pustaka.

Pernahkah anda menemui mana-mana perpustakaan Android yang hebat di GitHub? Beritahu kami dalam komen di bawah!

Kema kini, 6 Mac 2019 (11:10 pagi ET):Artikel di bawah ini telah edikit dipinda untuk membuat cerita lebih jela.The Meizu Zero, "telefon pintar yang paling kurang lubang di dunia," tidak aka...

elamat Hari Hayat Memorial, orang ramai. Mudah-mudahan, kami dapat membuatnya lebih gembira kerana kami telah menjumpai atu jualan hujung minggu Memorial Day bear dari Google Expre....

Popular Di Portal