Pridėkite bet kurią „GitHub“ biblioteką prie „Android Studio“ naudodami „Maven“, „JCenter“ ir „JitPack“

Autorius: Lewis Jackson
Kūrybos Data: 13 Gegužė 2021
Atnaujinimo Data: 1 Liepos Mėn 2024
Anonim
Pridėkite bet kurią „GitHub“ biblioteką prie „Android Studio“ naudodami „Maven“, „JCenter“ ir „JitPack“ - Programos
Pridėkite bet kurią „GitHub“ biblioteką prie „Android Studio“ naudodami „Maven“, „JCenter“ ir „JitPack“ - Programos

Turinys


Labai nedaugelis „Android“ projektų yra sala! Daugelis „Android“ projektų yra priklausomi nuo daugelio kitų komponentų, įskaitant trečiųjų šalių „Android“ bibliotekas.

„Android“ bibliotekoje yra tie patys failai, kuriuos randate įprastame „Android“ projekte, pavyzdžiui, šaltinio kodas, šaltiniai ir manifestas. Tačiau užuot sudėję į „Android“ paketų rinkinį (APK), kurį galima naudoti „Android“ įrenginyje, biblioteka kaupia kodų archyvą, kurį galite naudoti kaip projekto priklausomybę. Šios bibliotekos suteikia prieigą prie plataus spektro papildomų funkcijų, įskaitant kai kurias funkcijas, kurios neįtrauktos į „vanilla Android“ platformą.

„GitHub“ yra viena geriausių vietų „Android“ bibliotekoms rasti. Tačiau ne visada paprasta gauti biblioteką iš „GitHub“ puslapio ir į savo projektą, juo labiau, kad yra keletas skirtingų saugyklų, kurias kūrėjai gali naudoti platindami savo „GitHub“ projektus - ir ne visada gali būti akivaizdu, kurią saugyklą naudoja kūrėjas!


Šiame straipsnyje aš jums parodysiu, kaip importuoti bet kurią „GitHub“ aptiktą biblioteką į „Android“ projektą, nepriklausomai nuo to, ar norite biblioteką įtraukti kaip nuotolinę, ar kaip vietinę priklausomybę.

Pridedame nuotolines priklausomybes

„Android Studio“ „Gradle“ kūrimo sistema įtraukia bibliotekas į projektą kaip modulį priklausomybės. Šios priklausomybės gali būti arba nutolusiose saugyklose, tokiose kaip „Maven“ ar „JCenter“, arba jas galima laikyti projekto viduje kaip vietinę priklausomybę - tereikia pranešti „Gradle“, kur ji gali rasti šias priklausomybes.

Įtraukti biblioteką kaip nuotolinę priklausomybę paprastai yra greičiausias ir lengviausias būdas įgyti bibliotekos kodą į savo projektą, taigi tai yra metodas, į kurį pirmiausia pažvelgsime. Kai pridėsite biblioteką kaip nuotolinę priklausomybę, „Gradle“ įsitikins, kad priklausomybėje yra viskas, ko reikia paleisti, įskaitant bet kurią pereinamasis priklausomybes, todėl paprastai norėsite įtraukti biblioteką kaip nuotolinę priklausomybę, kur tik įmanoma.


Jei norite pridėti priklausomybę nuotoliniu būdu, „Gradle“ turėsite pateikti dvi informacijos dalis:

  • Kapinynas. „Gradle“ turi žinoti saugyklą (arba saugyklas), kur ji turėtų ieškoti jūsų bibliotekos (arba bibliotekų). „Android“ bibliotekos paprastai platinamos per „Maven Central“ arba „JCenter“.
  • Sudarykite pareiškimą. Čia yra bibliotekos paketo pavadinimas, bibliotekos grupės pavadinimas ir norima naudoti bibliotekos versija.

Idealiu atveju visos šios informacijos turėtų pateikti bibliotekos „GitHub“ puslapis. Iš tikrųjų ne visada taip yra, tačiau pradėkime nuo geriausio atvejo ir tarkime, kad bibliotekos „GitHub“ puslapyje yra ši informacija.

Pridedame nuotolinę priklausomybę nuo „JCenter“

„StyleableToast“ yra biblioteka, leidžianti tinkinti kiekvieną „Android“ skrebučių dalį, įskaitant fono spalvos, kampo spindulio ir šrifto keitimą bei piktogramų pridėjimą. Jame taip pat pateikiama visa informacija, kurios reikia norint įtraukti šią biblioteką į savo projektą, skirtą skyriuje „Diegimas“. Čia matome, kad šis projektas yra platinamas per „JCenter“.

Kai kuriate projektą su naujausiais „Android Studio“ leidimais, projekto „build.gradle“ failai jau yra nustatyti taip, kad palaikytų „JCenter“. Jei atidarysite projekto lygio „build.gradle“ failą, pamatysite, kad „JCenter“ jau yra įtrauktas į skyrių „visi projektai / saugyklos“:

visi projektai {saugyklos {jcenter ()}}

Atminkite, kad projekto lygio „build.gradle“ faile yra du „saugyklų“ blokai, tačiau „statymo scenarijaus / saugyklų“ blokas yra tas, kuriame jūs galite apibrėžti, kaip „Gradle“ atlieka šią sąranką. Į šį skyrių neturėtumėte pridėti jokių modulių priklausomybių.

Kadangi jūsų projektas jau sukonfigūruotas patikrinti „JCenter“, vienintelis dalykas, kurį turime padaryti, yra pridėti mūsų kompiliacijos ataskaitą į modulio lygio „build.gradle“ failą.

Dar kartą „StyleableToast“ pateikia mums tiksliai reikalingą informaciją, todėl tiesiog nukopijuokite kompiliacijos ataskaitą iš „StyleableToast“ „GitHub“ puslapio ir įklijuokite ją į savo „Gradle“ failą:

priklausomybės {sudarykite com.muddzdev: styleabletoast: 1.0.8}

Sinchronizuokite „Gradle“ failus spustelėdami „Sinchronizavimo“ juostą arba įrankių juostoje pasirinkdami piktogramą „Sinchronizuoti projektą su„ Gradle Files “. Tada „Gradle“ užduos užklausą „JCenter“ serveriui, kad patikrintų, ar egzistuoja „Styleabletoast“ biblioteka, ir atsisiųs visus failus. Dabar esate pasirengę pradėti naudotis šia biblioteka!

2. Pridėkite nuotolinę priklausomybę nuo „Maven Central“

Arba, jei projekto „GitHub“ puslapyje teigiama, kad ši biblioteka platinama per „Maven Central“, tada turėsite nurodyti „Gradle“ patikrinti „Maven Central“.

Atidarykite projekto lygio „build.gradle“ failą ir pridėkite „Maven Central“ į bloką „visi projektai“:

visi projektai {saugyklos {mavenCentral ()}}

Dabar visas likęs procesas yra tas pats: atidarykite savo modulio lygio „build.gradle“ failą, pridėkite kompiliacijos ataskaitą ir sinchronizuokite su „Gradle“.

3. Pridėkite nuotolinę priklausomybę, kuri yra priglobta jo paties serveryje

Kartais galite susidurti su projektu, kuris vis dar platinamas per „JCenter“ ar „Maven Central“, tačiau kūrėjas pasirinko priglobti savo projektą savo serveryje. Tokiu atveju projekto „GitHub“ puslapyje reikia nurodyti, kad reikia naudoti labai konkretų URL, pavyzdžiui, „Fabric“ „Crashlytics Kit“ saugykla yra https://maven.fabric.io/public.

Jei matote tokio tipo URL, turėsite atidaryti projekto lygio „build.gradle“ failą ir paskelbti saugyklą (šiuo atveju „Maven“) kartu su tiksliu URL:

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

Tada galite pridėti sudarymo ataskaitą ir sinchronizuoti failus kaip įprasta.

Ką daryti, jei nerandu saugyklos ir (arba) nesudaryti ataskaitos?

Iki šiol mes buvome optimistiški ir manėme, kad projekto tikslas yra „GitHub“ visada pasako visą informaciją, kurią reikia žinoti. Deja, ne visada taip yra, todėl pereikime nuo geriausio scenarijaus prie blogiausio atvejo ir įsivaizduokime, kad projekto „GitHub“ puslapyje nėra jokios informacijos apie saugyklą ir sudarykite pareiškimą, kurį turite naudoti.

Šiame scenarijuje galite:

  • Naudokite „JitPack“.
  • Kloniuokite visą saugyklą ir importuokite jos kodą į savo projektą kaip savo modulį.

„JitPack“ naudojimas

„JitPack“ yra „Git“ paketų saugykla, leidžianti pridėti bet kurį „GitHub“ projektą kaip nuotolinę priklausomybę. Kol bibliotekoje yra kaupimo failas, „JitPack“ gali generuoti visą informaciją, kurios jums reikia norint įtraukti šią biblioteką į savo projektą.

Pirmasis žingsnis yra atidaryti projekto lygio „build.gradle“ failą ir pridėti „JitPack“ kaip saugyklą:

visi projektai {saugyklos {maven {url https://jitpack.io}}}

Tada galite naudoti „JitPack“ svetainę, kad sugeneruotumėte ataskaitą, pagrįstą to projekto „GitHub“ URL:

  • Žiniatinklio naršyklėje eikite į bibliotekos „GitHub“ puslapį. Nukopijuokite jo URL.
  • Eikite į „JitPack“ svetainę.
  • Įklijuokite URL į svetainės paieškos lauką ir spustelėkite pridėtą mygtuką „Ieškoti“.
  • Tada tinklalapyje bus rodoma visų šios bibliotekos versijų lentelė, išskaidyta įvairiais skirtukais: spaudai, kūriniai, filialai ir įsipareigojimai. Paprastai leidimai paprastai būna stabilesni, o skirsnyje „Įsipareigojimas“ pateikiami naujausi pakeitimai.

  • Kai nuspręsite, kokią versiją norite naudoti, spustelėkite pridedamą mygtuką „Gaukite“.
  • Svetainė turėtų būti atnaujinta, kad būtų pateiktas tikslus kompiliacijos pareiškimas, kurį turite naudoti.

  • Nukopijuokite / įklijuokite šį kompiliacijos pareiškimą į savo projekto modulio lygio „build.gradle“ failą.
  • Sinchronizuokite „Gradle“ failus ir būsite pasirengę pradėti naudotis savo biblioteka!

„GitHub“ projekto klonavimas

Arba, jei nesate tikri dėl bibliotekos saugyklos ir (arba) sudarydami pareiškimą, galbūt norėsite klonas „GitHub“ projektas. Klonavimas sukuria viso „GitHub“ projekto kodo ir išteklių kopiją ir saugo šią kopiją jūsų vietiniame kompiuteryje. Tada galite importuoti kloną į savo projektą kaip savo modulį ir naudoti jį kaip priklausomybę nuo modulio.

Šis metodas gali užtrukti daug laiko, o importavus visą projekto kodą gali kilti konfliktų su likusiu jūsų projektu. Tačiau klonavimas suteikia prieigą prie viso bibliotekos kodo, todėl šis metodas yra idealus, jei norite tinkinti biblioteką, pavyzdžiui, pataisydami jos kodą, kad būtų geriau integruota su likusiu jūsų projektu, ar net pridedate naujų funkcijų (nors jei manote, kad kiti žmonės galėtų gauti naudos iš jūsų pakeitimų, tuomet galite apsvarstyti galimybę prisidėti prie patobulinimų prie projekto).

Norėdami klijuoti „GitHub“ projektą:

  • Sukurkite „GitHub“ paskyrą.
  • „Android Studio“ ekrane „Sveiki atvykę“ pasirinkite „Patikrinti iš versijos valdymo“.
  • Įveskite „GitHub“ kredencialus.
  • Atidarykite žiniatinklio naršyklę, eikite į norimą klonuoti „GitHub“ saugyklą ir nukopijuokite / įklijuokite jos URL į „Android Studio“ dialogo langą.
  • Nurodykite vietinį katalogą, kuriame norite saugoti klonuotą saugyklą.
  • Suteikite šiam katalogui pavadinimą ir spustelėkite „Klonuoti“.

Dabar, kai turite bibliotekos kodo kopiją, galite importuoti šią biblioteką į savo „Android“ projektą kaip naują modulį:

  • Atidarykite projektą, kuriame norite naudoti savo klonuotą biblioteką, tada „Android Studio“ įrankių juostoje pasirinkite „Failas> Naujas> Importuoti modulį“.
  • Spustelėkite mygtuką su trimis taškais ir eikite į savo klonuotų saugyklą. Pasirinkite šią saugyklą, tada spustelėkite „Gerai“.
  • Spustelėkite „Baigti“.
  • „Android Studio“ įrankių juostoje pasirinkite „Failas> Projekto struktūra“.
  • Kairiajame meniu pasirinkite modulį, kuriame norite naudoti šią biblioteką.
  • Pasirinkite skirtuką „Priklausomybės“.

  • Pasirinkite mažą „+“ piktogramą, tada - „Priklausomybė nuo modulio“.
  • Pasirinkite savo bibliotekos modulį, tada spustelėkite „Gerai“.
  • Išeikite iš lango „Projekto struktūra“.

Priklausomai nuo jūsų naudojamos bibliotekos, gali tekti šiek tiek pakoreguoti importuotą kodą, kad jūsų projektas būtų kompiliuotas. Pvz., Jei „Android Studio“ skirtukas „skundžiasi“ dėl nesuderinamų „minSdkVersions“, tada tikimybė, kad bibliotekos naudojamos API yra nesuderinamos su „Android“ platformos versijomis, apibrėžtomis jūsų projekto faile build.gradle. Panašiai, jei „Android Studio“ skundžiasi dėl jūsų projekto „buildToolsVersion“, greičiausiai neatitinka bibliotekoje apibrėžtos versijos ir kitur jūsų projekte apibrėžtos versijos. Abiejuose šiuose scenarijuose turėsite patikrinti reikšmes, apibrėžtas abiejuose „build.gradle“ failuose, ir atitinkamai jas pakeisti.

Problemų sprendimas

Kai jūs dirbate su bet kokia trečiosios šalies programinės įrangos rūšis, paprastai didesnė tikimybė, kad susidursite su nesuderinamumais, klaidomis ir visa kita keista elgesys, palyginti su tuo atveju, kai naudojate programinės įrangos rinkinį, kurį sukūrė ta pati komanda ir kuriame kiekvienas dėlionės elementas buvo specialiai sukurtas veikti kartu.

Jei, pridėjus biblioteką prie savo projekto, kyla problemų, išbandykite šiuos pataisymus:

  • Patikrinkite, ar netyčia nepridėjote kelių tos pačios bibliotekos versijų. Jei „Android Studio“ praneša apie klaidą „keli DEX failai apibrėžia…“, galbūt tą pačią biblioteką prie savo projekto pridėjote dar ne kartą. Savo modulio priklausomybes galite peržiūrėti pasirinkę „File“> „Project structure“ „Android Studio“ įrankių juostoje, tada pasirinkę norimą ištirti modulį ir spustelėdami skirtuką „Priklausomybės“. Jei biblioteka šiame lange pasirodo kelis kartus, tada pasirinkite kopiją ir spustelėkite mažąją piktogramą „-“, kad ją pašalintumėte.
  • Ieškokite žiniatinklyje. Visada yra tikimybė, kad kiti žmonės susidūrė su ta pačia problema kaip jūs, todėl atlikite greitą „Google“ paiešką ir sužinokite, ar kas nors paskelbė apie šią problemą forumuose, ar tokiose bendruomenėse kaip „Stackoverflow“. Jums net gali pasisekti ir rasti tinklaraštį ar mokymo programą, kurioje yra instrukcijos, kaip išspręsti šią tikslią problemą.
  • Išvalykite ir atstatykite savo projektą. Kartais problemai išspręsti gali pakakti „Android Studio“ įrankių juostoje pasirinkus „Sukurti> Valyti projektą“, o po to - „Sukurti> Atkurti projektą“.
  • O jei viskas nepavyks ... Norint, kad trečiųjų šalių programinė įranga veiktų tinkamai, kartais reikia šiek tiek bandymų ir klaidų, taigi, jei yra alternatyvus jūsų pasirinktos bibliotekos importavimo būdas, visada verta išbandyti. Tai, kad jūsų projektas atsisako kompiliuoti po to, kai importavote klonuotą saugyklą, nebūtinai reiškia, kad jis reaguos, jei bandysite tą pačią biblioteką naudoti kaip nuotolinę priklausomybę.

Apvyniojimas

Šiame straipsnyje mes pažvelgėme, kaip galite pridėti bet kurią „GitHub“ aptiktą biblioteką prie savo „Android“ projekto, nepaisant to, ar ši biblioteka platinama per „JCenter“, ar „Maven Central“. Ir net jei jūs net neįsivaizduojate, kokį saugyklą ar rinkimo teiginį turite naudoti, visada turite galimybę naudoti „JitPack“ arba klonuoti bibliotekos kodą.

Ar „GitHub“ atradote puikių „Android“ bibliotekų? Praneškite mums toliau pateiktuose komentaruose!

Pirmiauia žinoma kaip „Google“ prenumerato palauga, kirta išplėti debeų augyklą, „Google One“ dabar iūlo automatine telefono atargine kopija.„Google One“ tvarko įpratą „Android“ atarginę kopiją, kurią...

„Google“ atnaujinti prenumerato planai augoti debei dabar patenka į naująją „Google One“ programą. Pakelbta 2018 m. Gegužė mėn., „Google One“ pirmą kartą paleita JAV ir nuo to laiko pradėta naudoti va...

Įdomios Pareigybės