Lägg till vilket GitHub-bibliotek som helst i Android Studio med Maven, JCenter och JitPack

Författare: Lewis Jackson
Skapelsedatum: 13 Maj 2021
Uppdatera Datum: 1 Juli 2024
Anonim
Lägg till vilket GitHub-bibliotek som helst i Android Studio med Maven, JCenter och JitPack - Appar
Lägg till vilket GitHub-bibliotek som helst i Android Studio med Maven, JCenter och JitPack - Appar

Innehåll


Mycket få Android-projekt är en ö! Majoriteten av Android-projekten är beroende av ett antal andra komponenter, inklusive Android-bibliotek från tredje part.

Ett Android-bibliotek innehåller samma filer som du hittade i ett vanligt Android-projekt, som källkod, resurser och ett manifest. I stället för att kompilera till en Android Package Kit (APK) som kan köras på en Android-enhet, sammanställs ett bibliotek till ett kodarkiv som du kan använda som ett projektberoende. Dessa bibliotek ger dig tillgång till ett brett utbud av ytterligare funktioner, inklusive vissa funktioner som inte ingår i vanilj Android-plattformen.

En av de bästa platserna att hitta Android-bibliotek är GitHub. Att få ett bibliotek från sin GitHub-sida och in i ditt projekt är dock inte alltid enkelt, särskilt eftersom det finns flera olika förvar som utvecklare kan använda för att distribuera sina GitHub-projekt - och det kanske inte alltid är uppenbart vilket arkiv en utvecklare använder!


I den här artikeln ska jag visa dig hur du importerar alla bibliotek som du upptäcker på GitHub till ditt Android-projekt, oavsett om du vill lägga till biblioteket som ett fjärrberoende eller som ett lokalt beroende.

Lägga till fjärravhängigheter

Android Studios Gradle build-system lägger till bibliotek till ditt projekt som modul beroenden. Dessa beroenden kan antingen lokaliseras i ett fjärrlager, till exempel Maven eller JCenter, eller de kan lagras i ditt projekt som ett lokalt beroende - du behöver bara låta Gradle veta var den kan hitta dessa beroenden.

Att lägga till ett bibliotek som ett fjärravhängighet är vanligtvis det snabbaste och enklaste sättet att få bibliotekets kod till ditt projekt, så det är den metod vi kommer att titta på först. När du lägger till ett bibliotek som ett fjärravhängighet kommer Gradle att se till att beroendet har allt den behöver för att kunna köra, inklusive alla transitiv beroende, så att du vanligtvis vill lägga till ett bibliotek som ett fjärravhängighet där så är möjligt.


För att lägga till ett fjärravhängighet måste du ge Gradle två informationer:

  • Förvaret. Gradle måste känna till förvaret (eller lagringarna) där det ska leta efter ditt bibliotek (eller bibliotek). Android-bibliotek tenderar att distribueras via antingen Maven Central eller JCenter.
  • Sammanställningen. Detta innehåller bibliotekets paketnamn, namnet på bibliotekets grupp och den version av biblioteket du vill använda.

Helst bör bibliotekets GitHub-sida ge dig all denna information. I verkligheten är detta inte alltid fallet, men vi börjar med det bästa fallet och antar att bibliotekets GitHub-sida innehåller denna information.

Lägga till ett fjärravhängighet med JCenter

StyleableToast är ett bibliotek som låter dig anpassa alla delar av Android: s rostat bröd, inklusive att ändra bakgrundsfärg, hörnradie och teckensnitt och lägga till ikoner. Det ger också all information du behöver för att lägga till detta bibliotek till ditt projekt, i det avsedda avsnittet "Installation". Här kan vi se att detta projekt distribueras via JCenter.

När du skapar ett projekt med de senaste versionerna av Android Studio har projektets build.gradle-filer redan konfigurerats för att stödja JCenter. Om du öppnar din build.gradle-fil på projektnivå ser du att JCenter redan ingår i avsnittet "allprojects / repositories":

allprojects {repositories {jcenter ()}}

Observera att build.gradle-filen på projektnivå innehåller två "förvar" -block, men "buildscript / repositories" -blocket är där du definierar hur Gradle utför denna build. Du bör inte lägga till några modulberoende i det här avsnittet.

Eftersom ditt projekt redan är konfigurerat för att kontrollera JCenter, är det enda vi behöver göra att lägga till vårt sammanställningsförklaring till modulenivå build.gradle-filen.

Återigen tillhandahåller StyleableToast oss exakt den information vi behöver, så kopiera enkelt sammanställningsmeddelandet från StyleableToasts GitHub-sida och klistra in den i din Gradle-fil:

beroenden {kompilera com.muddzdev: styleabletoast: 1.0.8}

Synkronisera dina Gradle-filer, antingen genom att klicka på "Sync" -banret eller genom att välja ikonen "Sync Project with Gradle Files" i verktygsfältet. Gradle frågar sedan JCenter-servern för att kontrollera att Styleabletoast-biblioteket finns och ladda ner alla dess filer. Du är nu redo att börja använda det här biblioteket!

2. Lägga till ett fjärravhängighet med Maven Central

Alternativt, om projektets GitHub-sida anger att detta bibliotek distribueras via Maven Central, måste du säga Gradle att kontrollera Maven Central istället.

Öppna din build.gradle-fil på projektnivå och lägg till Maven Central i blocket "allprojects":

allprojects {förvar {mavenCentral ()}}

Härifrån är resten av processen exakt densamma: öppna din build.gradle-fil på modulnivå, lägg till kompilationssatsen och synkronisera med Gradle.

3. Lägga till ett fjärravhängighet som är värd på sin egen server

Ibland kan du stöta på ett projekt som fortfarande distribueras via JCenter eller Maven Central, men utvecklaren har valt att vara värd för sitt projekt på sin egen server. När detta är fallet bör projektets GitHub-sida berätta för dig att använda en mycket specifik URL, till exempel Fabrics Crashlytics Kit-arkiv finns på https://maven.fabric.io/public.

Om du ser den här typen av URL måste du öppna din build.gradle-fil på projektnivå och sedan förklara förvaret (i det här fallet Maven) tillsammans med den exakta URL:

förvar {maven {url https://maven.fabric.io/public}}

Du kan sedan lägga till kompilationssatsen och synkronisera dina filer som vanligt.

Vad händer om jag inte hittar förvaret och / eller sammanställa uttalandet?

Fram till nu har vi varit optimistiska och antagit att projektets GitHub alltid berättar all den information du behöver veta. Tyvärr är detta inte alltid fallet, så låt oss byta från det bästa fallet till det värsta fallet, och föreställ dig att projektets GitHub-sida inte ger dig information om förvaret och sammanställningsuppgifterna du behöver använda.

I det här scenariot kan du antingen:

  • Använd JitPack.
  • Klona hela förvaret och importera dess kod till ditt projekt som en egen modul.

Använda JitPack

JitPack är ett paketförråd för Git som låter dig lägga till alla GitHub-projekt som ett fjärrberoende. Så länge biblioteket innehåller en build-fil, kan JitPack generera all information du behöver för att lägga till detta bibliotek till ditt projekt.

Det första steget är att öppna din build.gradle-fil på projektnivå och lägga till JitPack som ett arkiv:

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

Du kan sedan använda JitPack-webbplatsen för att generera ett sammanställningsförklaring baserat på projektets GitHub-URL:

  • Navigera till bibliotekets GitHub-sida i din webbläsare. Kopiera dess URL.
  • Gå över till JitPack-webbplatsen.
  • Klistra in webbadressen i webbplatsens sökfält och klicka sedan på den medföljande 'Sök upp' -knappen.
  • Webbsidan visar sedan en tabell över alla versioner av detta bibliotek, fördelade på olika flikar: Releaser, Builds, Grenes and Commits. Vanligtvis tenderar utgivningar att vara mer stabila, medan avsnittet Åtagande innehåller de senaste ändringarna.

  • När du har bestämt vilken version du vill använda klickar du på den medföljande knappen "Get It".
  • Webbplatsen bör uppdateras för att visa den exakta sammanställningsanvisning du behöver använda.

  • Kopiera / klistra in den här sammanställningen i projektets modulnivå build.gradle-fil.
  • Synkronisera dina Gradle-filer och du är redo att börja använda ditt bibliotek!

Kloning av ett GitHub-projekt

Alternativt, om du är osäker på bibliotekets arkiv och / eller sammanställa uttalande, kanske du vill klona GitHub-projektet. Kloning skapar en kopia av alla GitHub-projektets kod och resurser och lagrar denna kopia på din lokala maskin. Du kan sedan importera klonen till ditt projekt som en egen modul och använda den som modulberoende.

Den här metoden kan vara tidskrävande, och att importera hela projektets kod kan orsaka konflikter med resten av ditt projekt. Men kloning ger dig tillgång till alla bibliotekets kod, så den här metoden är idealisk om du vill anpassa biblioteket, till exempel genom att finjustera dess kod för att bättre integreras med resten av ditt projekt, eller till och med lägga till nya funktioner (även om Om du känner att andra människor kan dra nytta av dina förändringar, kanske du vill överväga att bidra med dina förbättringar tillbaka till projektet).

För att klona ett GitHub-projekt:

  • Skapa ett GitHub-konto.
  • Välj "Kassa från versionskontroll" på skärmen "Välkommen" i Android Studio.
  • Ange dina GitHub-referenser.
  • Öppna din webbläsare, navigera till GitHub-lagret som du vill klona och kopiera / klistra sedan in URL: en i dialogrutan Android Studio.
  • Ange den lokala katalogen där du vill lagra det klonade arkivet.
  • Ge den här katalogen ett namn och klicka sedan på 'Klon'.

Nu har du en kopia av bibliotekets kod, du kan importera detta bibliotek till ditt Android-projekt som en ny modul:

  • Öppna projektet där du vill använda ditt klonade bibliotek och välj sedan 'File> New> Import Module' från verktygsfältet Android Studio.
  • Klicka på den treprickade knappen och navigera till ditt klonade arkiv. Välj detta arkiv och klicka sedan på 'OK'.
  • Klicka på "Slutför".
  • Välj 'Fil> Projektstruktur' i verktygsfältet i Android Studio.
  • I menyn till vänster väljer du den modul där du vill använda detta bibliotek.
  • Välj fliken 'Beroenden'.

  • Välj den lilla "+" -ikonen, följt av "Modulberoende".
  • Välj din biblioteksmodul och klicka sedan på 'OK'.
  • Stäng fönstret 'Projektstruktur'.

Beroende på biblioteket du använder kan du behöva göra några justeringar av din importerade kod innan ditt projekt kommer att sammanställas. Om till exempel fliken 's' i Android Studio klagar över inkompatibla minSdkVersions, är chansen att API: erna som används av biblioteket inte är kompatibla med versionerna av Android-plattformen som definieras i projektets build.gradle-fil. På liknande sätt, om Android Studio klagar över projektets buildToolsVersion, är det troligt att det finns ett missförhållande mellan den version som definieras i biblioteket och den version som definieras någon annanstans i ditt projekt. I båda dessa scenarier måste du kontrollera värdena som definieras i båda build.gradle-filerna och ändra dem i enlighet därmed.

Felsökning

När du arbetar med några typ av tredje parts mjukvara, som en allmän regel är det mer troligt att du stöter på inkompatibiliteter, buggar och allt konstig beteende, jämfört med när du använder en svit programvara som har utvecklats av samma team, och där varje pusselbit specifikt utformades för att fungera tillsammans.

Om du stöter på problem efter att du har lagt till ett bibliotek i ditt projekt kan du prova följande korrigeringar:

  • Kontrollera att du av misstag inte har lagt till flera versioner av samma bibliotek. Om Android Studio rapporterar ett "flera DEX-filer definierar ..." -fel, kan du ha lagt till samma bibliotek till ditt projekt mer än en gång. Du kan granska din moduls beroende genom att välja 'Fil> Projektstruktur' i verktygsfältet i Android Studio, sedan välja den modul du vill undersöka och klicka på fliken 'Beroenden'. Om ett bibliotek visas i detta fönster flera gånger väljer du duplikatet och klickar på den lilla ikonen för att ta bort den.
  • Sök på webben. Det finns alltid en chans att andra människor har stött på samma problem som du, så gör en snabb Google-sökning för att se om någon har publicerat om det här problemet på forum eller gemenskaper som Stackoverflow. Du kan till och med ha tur och hitta en blogg eller en tutorial som innehåller instruktioner om hur du löser denna exakta fråga.
  • Rengör och bygg om projektet. Ibland kan det vara tillräckligt att välja 'Bygg> Rengör projekt' från verktygsfältet i Android Studio, följt av 'Bygg> Ombygga projekt'.
  • Och om allt annat misslyckas ... Att få tredjepartsprogramvara att fungera korrekt kräver ibland lite test och fel, så om det finns en alternativ metod för att importera ditt valda bibliotek, är det alltid värt att prova. Bara för att ditt projekt vägrar att sammanställa efter att du har importerat ett klonat arkiv, betyder det inte nödvändigtvis att det kommer att få samma reaktion om du försöker använda samma bibliotek som ett fjärrberoende.

Avslutar

I den här artikeln tittade vi på hur du kan lägga till vilket bibliotek du upptäcker på GitHub till ditt Android-projekt, oavsett om det biblioteket distribueras via JCenter eller Maven Central. Och även om du inte har någon aning om vilket arkiv eller kompilering som du behöver använda, har du alltid möjligheten att använda JitPack eller klona bibliotekets kod.

Har du upptäckt några fantastiska Android-bibliotek på GitHub? Låt oss veta i kommentarerna nedan!

En nyligen tweet från Evan Bla (@evleak) avlöjade att amung nätan är färdig med att utveckla in nya grafenbatterieteknologi. amung planerar enligt uppgift att lanera denna tek...

Denna frågeport tetar hur mycket du verkligen vet om amung och Google. Ditt jobb är att ta reda på vilka av de två företagen om tillkännagav en vi tjänt, förv&#...

Nya Publikationer