Magdagdag ng anumang library ng GitHub sa Android Studio, gamit ang Maven, JCenter at JitPack

May -Akda: Lewis Jackson
Petsa Ng Paglikha: 13 Mayo 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
Magdagdag ng anumang library ng GitHub sa Android Studio, gamit ang Maven, JCenter at JitPack - Apps
Magdagdag ng anumang library ng GitHub sa Android Studio, gamit ang Maven, JCenter at JitPack - Apps

Nilalaman


Napakakaunting mga proyekto ng Android ay isang isla! Ang karamihan ng mga proyekto sa Android ay may mga dependencies sa isang bilang ng iba pang mga bahagi, kabilang ang mga third library ng Android party.

Ang isang library ng Android ay naglalaman ng parehong mga file na matatagpuan mo sa isang regular na proyekto ng Android, tulad ng source code, mapagkukunan, at isang Manifest. Gayunpaman, sa halip na mag-ipon sa isang Android Package Kit (APK) na maaaring tumakbo sa isang Android device, ang isang library ay nag-iipon sa isang code archive na maaari mong gamitin bilang isang dependant ng proyekto. Ang mga aklatang ito ay nagbibigay sa iyo ng pag-access sa isang malawak na hanay ng mga karagdagang pag-andar, kasama ang ilang mga tampok na hindi kasama sa platform ng vanilla Android.

Ang isa sa mga pinakamahusay na lugar upang makahanap ng mga aklatan ng Android, ay GitHub. Gayunpaman, ang pagkuha ng isang library mula sa pahina ng GitHub nito at sa iyong proyekto ay hindi laging diretso, lalo na dahil maraming iba't ibang mga repositori na magagamit ng mga developer upang maipamahagi ang kanilang mga proyekto sa GitHub - at maaaring hindi laging malinaw kung aling mga repository ang ginagamit ng isang developer!


Sa artikulong ito, ipapakita ko sa iyo kung paano i-import ang anumang library na iyong natuklasan sa GitHub sa iyong proyekto sa Android, anuman ang nais mong idagdag ang aklatan bilang isang sobrang dependency, o bilang isang lokal na dependency.

Pagdaragdag ng malalayong dependencies

Ang sistema ng build ng Android Studio ay nagdaragdag ng mga aklatan sa iyong proyekto bilang modyul dependencies. Ang mga dependencies ay maaaring matatagpuan sa isang liblib na lalagyan, tulad ng Maven o JCenter, o maiimbak ang mga ito sa loob ng iyong proyekto, bilang isang lokal na dependency - kailangan mo lamang ipaalam sa Gradle kung saan mahahanap nito ang mga dependencies.

Ang pagdaragdag ng isang silid-aklatan bilang isang malayong pag-asa ay karaniwang ang pinakamabilis at pinakamadaling paraan ng pagkuha ng code ng isang aklatan sa iyong proyekto, kaya ito ang pamamaraan na titingnan muna natin. Kapag nagdagdag ka ng isang silid-aklatan bilang isang sobrang dependency, sisiguraduhin ni Gradle na ang dependency ay mayroong lahat ng kailangan nito upang tumakbo, kasama ang anupaman palipat dependencies, kaya karaniwang gusto mong magdagdag ng isang library bilang isang remote dependency kahit saan posible.


Upang magdagdag ng isang remote dependency, kakailanganin mong magbigay ng Gradle ng dalawang piraso ng impormasyon:

  • Ang imbakan. Kailangang malaman ng Gradle ang mga imbakan (o mga repositori) kung saan dapat itong hanapin ang iyong library (o mga aklatan). Ang mga aklatan ng Android ay may posibilidad na maipamahagi sa pamamagitan ng alinman sa Maven Central o JCenter.
  • Ang compile na pahayag. Naglalaman ito ng pangalan ng pakete ng aklatan, ang pangalan ng pangkat ng aklatan, at ang bersyon ng aklatan na nais mong gamitin.

Sa isip, ang pahina ng GitHub ng aklatan ay dapat magbigay sa iyo ng lahat ng impormasyong ito. Sa katotohanan hindi ito palaging nangyayari, ngunit magsimula tayo sa pinakamahusay na senaryo ng kaso at ipagpalagay na kasama ang pahina ng GitHub ng library ng impormasyong ito.

Pagdaragdag ng isang remote dependency sa JCenter

StyleableToast ay isang library na nagbibigay-daan sa iyo upang ipasadya ang bawat bahagi ng toast ng Android, kabilang ang pagbabago ng kulay ng background, radius ng sulok at font, at pagdaragdag ng mga icon. Nagbibigay din ito ng lahat ng impormasyon na kailangan mo upang magdagdag ng library na ito sa iyong proyekto, sa nakalaang seksyon na 'Pag-install' nito. Dito, makikita natin na ang proyektong ito ay ipinamamahagi sa pamamagitan ng JCenter.

Kapag lumikha ka ng isang proyekto na may pinakabagong mga paglabas ng Android Studio, ang mga file ng build.gradle ng iyong proyekto ay naka-setup na suportahan ang JCenter. Kung binuksan mo ang iyong file na antas ng build.gradle ng proyekto, pagkatapos ay makikita mo na ang JCenter ay kasama na sa seksyon ng 'allprojects / repositories:

allprojects {repositories {jcenter ()}}

Tandaan, ang file na antas ng build.gradle ng proyekto ay naglalaman ng dalawang mga bloke ng 'repositories', ngunit ang 'buildscript / repositories' block ay kung saan mo tinukoy kung paano ginanap ng Gradle ang build na ito. Hindi ka dapat magdagdag ng anumang mga dependency ng module sa seksyong ito.

Dahil na-configure na ang iyong proyekto upang suriin ang JCenter, ang tanging kailangan naming gawin ay idagdag ang aming pagsulat ng pahayag sa module na antas ng build.gradle file.

Muli, ang StyleableToast ay nagbibigay sa amin ng eksaktong impormasyon na kailangan namin, kaya kopyahin ang compile na pahayag mula sa pahina ng GitHub ng StyleableToast, at i-paste ito sa iyong Gradle file:

dependencies {compile com.muddzdev: styleabletoast: 1.0.8}

I-sync ang iyong mga file ng Gradle, alinman sa pag-click sa banner na 'Sync', o sa pamamagitan ng pagpili ng 'Sync Project na may Gradle Files' icon sa toolbar. Pagkatapos ay hihilingin ni Gradle ang server ng JCenter upang suriin na mayroong library ang Styleabletoast, at i-download ang lahat ng mga file nito. Handa ka nang simulang gamitin ang library na ito!

2. Pagdaragdag ng isang remote dependency sa Maven Central

Bilang kahalili, kung ang pahina ng GitHub ng proyekto ay nagsasabi na ang aklatang ito ay ipinamamahagi sa pamamagitan ng Maven Central, kakailanganin mong sabihin sa Gradle na suriin ang Maven Central.

Buksan ang iyong file na antas ng build.gradle ng proyekto at idagdag ang Maven Central sa block na "allprojects":

allprojects {repositories {mavenCentral ()}}

Mula dito, ang natitirang proseso ay eksaktong pareho: buksan ang iyong module-level build.gradle file, idagdag ang compile na pahayag at i-sync sa Gradle.

3. Pagdaragdag ng isang remote dependency na naka-host sa sarili nitong server

Paminsan-minsan, maaari kang makatagpo ng isang proyekto na ipinamahagi pa rin sa pamamagitan ng JCenter o Maven Central, ngunit pinili ng developer na mag-host ng kanilang proyekto sa kanilang sariling server. Kapag nangyari ito, dapat sabihin sa iyo ng pahina ng GitHub ng pahina na gumamit ng isang napaka-tukoy na URL, halimbawa na matatagpuan ang repositoryo ng Crashlytics Kit ng Fabric sa https://maven.fabric.io/public.

Kung nakikita mo ang ganitong uri ng URL, kakailanganin mong buksan ang iyong file na antas ng build.gradle ng proyekto, at pagkatapos ay idedeklara ang imbakan (sa pagkakataong ito, Maven) kasama ang eksaktong URL:

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

Pagkatapos ay maaari mong idagdag ang buo na pahayag at i-sync ang iyong mga file bilang normal.

Paano kung hindi ko mahahanap ang repositoryo at / o mag-compile ng pahayag?

Hanggang sa ngayon, kami ay naging maasahin sa mabuti at ipinapalagay na ang GitHub ng proyekto palagi ay nagsasabi sa iyo ng lahat ng impormasyon na kailangan mong malaman. Sa kasamaang palad hindi ito palaging nangyayari, kaya't lumipat mula sa pinakamahusay na sitwasyon ng kaso, sa pinakapangit na sitwasyon ng kaso, at isipin na ang pahina ng GitHub ng proyekto ay hindi nagbibigay sa iyo ng anumang impormasyon tungkol sa repository at compile na pahayag na kailangan mong gamitin.

Sa sitwasyong ito, maaari mo ring:

  • Gumamit ng JitPack.
  • I-clone ang buong imbakan, at i-import ang code sa iyong proyekto bilang sariling module.

Paggamit ng JitPack

Ang JitPack ay isang repositoryo ng pakete para sa Git na nagbibigay-daan sa iyo na magdagdag ng anumang proyekto ng GitHub bilang isang remote dependency. Hangga't ang library ay naglalaman ng isang file ng build, maaaring makabuo ng JitPack ang lahat ng impormasyon na kailangan mo upang magdagdag ng library na ito sa iyong proyekto.

Ang unang hakbang, ay upang buksan ang iyong file-level build.gradle file at idagdag ang JitPack bilang isang imbakan:

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

Pagkatapos ay maaari mong gamitin ang JitPack website upang makabuo ng isang compile na pahayag, batay sa GitHub URL ng proyekto:

  • Sa iyong web browser, mag-navigate sa pahina ng GitHub ng library. Kopyahin ang URL nito.
  • Tumungo sa JitPack website.
  • I-paste ang URL sa patlang ng paghahanap ng website at pagkatapos ay i-click ang kasamang pindutan ng 'Look Up'.
  • Ang webpage ay magpapakita ng isang talahanayan ng lahat ng mga bersyon ng aklatang ito, nahati sa iba't ibang mga tab: Mga Paglabas, Nagtatayo, Mga Sangay at Mga Komisyon. Karaniwan, ang mga Paglabas ay may posibilidad na maging mas matatag, samantalang ang seksyon ng Komisyon ay naglalaman ng pinakabagong mga pagbabago.

  • Kapag napagpasyahan mo kung anong bersyon ang nais mong gamitin, i-click ang kasamang pindutan na 'Kunin Ito'.
  • Dapat mag-update ang website upang ipakita ang eksaktong sumulat ng pahayag na kailangan mong gamitin.

  • Kopyahin / idikit ang compile na pahayag na ito sa module na antas ng build.gradle ng iyong proyekto.
  • I-sync ang iyong mga file ng Gradle, at handa ka nang magsimulang gamitin ang iyong library!

Pag-clone ng isang proyekto sa GitHub

Bilang kahalili, kapag hindi ka sigurado sa isang imbakan ng library at / o sumulat ng libro na pahayag, maaaring gusto mong clone ang proyektong GitHub. Ang Cloning ay lumilikha ng isang kopya ng lahat ng code at mapagkukunan ng proyekto ng GitHub, at iniimbak ang kopya na ito sa iyong lokal na makina. Maaari mong mai-import ang clone sa iyong proyekto bilang sariling module, at gamitin ito bilang dependant ng module.

Ang pamamaraang ito ay maaaring magastos ng oras, at ang pag-import sa kabuuan ng code ng proyekto ay maaaring maging sanhi ng mga salungatan sa natitirang bahagi ng iyong proyekto. Gayunpaman, ang pag-clon ay nagbibigay sa iyo ng pag-access sa lahat ng code ng library, kaya ang pamamaraang ito ay mainam kung nais mong ipasadya ang library, halimbawa sa pamamagitan ng pag-tweet ng code nito upang mas mahusay na isama sa natitirang bahagi ng iyong proyekto, o kahit na pagdaragdag ng mga bagong tampok (bagaman kung sa tingin mo ay maaaring makinabang ang ibang tao mula sa iyong mga pagbabago, baka gusto mong isaalang-alang ang pagbibigay ng iyong mga pagpapabuti pabalik sa proyekto).

Upang ma-clone ang isang GitHub proyekto:

  • Lumikha ng isang GitHub account.
  • Piliin ang 'Checkout mula sa Control ng Bersyon' mula sa screen ng 'Welcome' ng Android Studio.
  • Ipasok ang iyong mga kredensyal sa GitHub.
  • Buksan ang iyong web browser, mag-navigate sa GitHub repositoryo na nais mong i-clone, at pagkatapos kopyahin / ilagay ang URL nito sa dialog ng Android Studio.
  • Tukuyin ang lokal na direktoryo kung saan nais mong mag-imbak ng mga naka-clone na repositoryo.
  • Bigyan ang isang direktoryo na ito ng isang pangalan, at pagkatapos ay i-click ang 'Clone.'

Ngayon mayroon kang isang kopya ng code ng library, maaari mong mai-import ang library na ito sa iyong proyekto sa Android, bilang isang bagong module:

  • Buksan ang proyekto kung saan nais mong gamitin ang iyong cloning library, pagkatapos ay piliin ang 'File> Bago> Module ng import' mula sa toolbar ng Android Studio.
  • I-click ang pindutan ng tatlong may tuldok at mag-navigate sa iyong mga naka-clone na repository. Piliin ang imbakan na ito, pagkatapos ay i-click ang 'OK.'
  • I-click ang 'Tapos na.'
  • Piliin ang 'File> istraktura ng proyekto' mula sa tool ng Android Studio.
  • Sa kaliwang menu, piliin ang modyul kung saan nais mong gamitin ang library.
  • Piliin ang tab na 'Dependencies'.

  • Piliin ang maliit na '+' na icon, na sinusundan ng 'Module dependency.'
  • Piliin ang iyong module ng library, pagkatapos ay i-click ang 'OK.'
  • Lumabas sa window ng 'Project istraktura'.

Depende sa library na ginagamit mo, maaaring kailanganin mong gumawa ng ilang mga pagsasaayos sa iyong na-import na code bago magtipon ang iyong proyekto. Halimbawa kung ang tab ng Android Studio ay nagrereklamo tungkol sa hindi magkatugma na minSdkVersions, kung gayon ang mga pagkakataon ay ang mga API na ginagamit ng aklatan ay hindi katugma sa mga bersyon ng Android platform na tinukoy sa build.gradle file ng iyong proyekto. Sa katulad na paraan, kung ang Android Studio ay nagreklamo tungkol sa buildToolsVersion ng iyong proyekto, malamang na mayroong isang pagkakamali sa pagitan ng bersyon na tinukoy sa library at ang bersyon na tinukoy sa ibang lugar sa iyong proyekto. Sa parehong mga sitwasyong ito, kakailanganin mong suriin ang mga halagang tinukoy sa parehong mga file ng build.gradle, at baguhin ito nang naaayon.

Pag-aayos ng solusyon

Kapag nagtatrabaho ka anumang uri ng software ng third party, bilang isang pangkalahatang panuntunan mas malamang mong makatagpo ang mga hindi pagkakatugma, mga bug, at buong paligid kakaiba pag-uugali, kumpara sa kung gumagamit ka ng isang suite ng software na binuo ng parehong koponan, at kung saan ang bawat piraso ng puzzle ay partikular na idinisenyo upang magtulungan.

Kung nagpapatakbo ka sa mga problema pagkatapos ng pagdaragdag ng isang library sa iyong proyekto, pagkatapos ay subukan ang mga sumusunod na pag-aayos:

  • Suriin na hindi mo sinasadyang nagdagdag ng maraming mga bersyon ng parehong library. Kung ang Android Studio ay nag-uulat ng isang "maramihang mga file ng DEX na tukuyin ..." error, pagkatapos ay maaaring naidagdag mo ang parehong aklatan sa iyong proyekto nang higit sa isang beses. Maaari mong suriin ang mga dependencies ng iyong module sa pamamagitan ng pagpili ng 'File> istraktura ng Project' mula sa tool ng Android Studio, pagkatapos ay piliin ang module na nais mong suriin, at i-click ang tab na 'Dependencies'. Kung ang isang library ay lilitaw sa window na ito nang maraming beses, pagkatapos ay piliin ang duplicate, at i-click ang icon na maliit na '-' upang alisin ito.
  • Maghanap sa web. Laging may pagkakataon na maaaring nakatagpo ng ibang tao ang parehong isyu tulad mo, kaya magsagawa ng mabilis na paghahanap sa Google upang makita kung may naka-post tungkol sa isyung ito sa mga forum, o mga komunidad tulad ng Stackoverflow. Maaari ka ring makakuha ng masuwerteng at makahanap ng isang blog o isang tutorial na kasama ang mga tagubilin kung paano malutas ang eksaktong isyu na ito.
  • Linisin at muling itayo ang iyong proyekto. Minsan, ang pagpili ng 'Bumuo ng> Malinis na proyekto' mula sa tool ng Android Studio, na sinusundan ng 'Buuin> Muling Muling proyekto,' maaaring sapat upang malutas ang iyong problema.
  • At kung ang lahat ay nabigo ... Ang pagkuha ng software ng third party upang gumana nang tama minsan ay nangangailangan ng kaunting pagsubok at pagkakamali, kaya kung mayroong isang kahaliling paraan ng pag-import ng iyong napiling aklatan, kung gayon ito ay palaging sulit na subukan. Dahil lamang sa pagtanggi ng iyong proyekto na mag-ipon pagkatapos mong mag-import ng isang naka-clone na repositoryo, hindi nangangahulugang magkakaroon ito ng magkatulad na reaksyon kung susubukan mong gamitin ang parehong aklatan bilang isang malayong pag-asa.

Pag-wrap up

Sa artikulong ito, tiningnan namin kung paano ka makakapagdagdag ng anumang aklatan na iyong natuklasan sa GitHub, sa iyong proyekto sa Android, anuman ang naibahagi sa library sa pamamagitan ng JCenter o Maven Central. At, kahit na wala kang ideya kung ano ang repository o sumulat ng pahayag na kailangan mong gamitin, pagkatapos ay palaging may pagpipilian ka sa paggamit ng JitPack, o pag-clone ng code ng library.

Natagpuan mo ba ang anumang mahusay na mga aklatan ng Android sa GitHub? Ipaalam sa amin sa mga komento sa ibaba!

uriin natin kung gaano ka pamilyar a ilan a mga pinakamalaking blunder na may kaugnayan a tech hanggang ngayon. Ang paguulit na ito ay naglalaman ng 10 mga katanungan na umiikot a mga hindi matagumpay...

Ang teknolohiyang pagkilala a mukha ay ngayon ay iang angkap ng eguridad ng martphone, kaama ang tiwala na PIN ng PIN at lalong maalimuot na mga canner ng fingerprint. Bagaman hindi kinakailangan ma l...

Mga Nakaraang Artikulo