Herhangi bir GitHub kütüphanesini Maven, JCenter ve JitPack kullanarak Android Studio'ya ekleyin

Yazar: Lewis Jackson
Yaratılış Tarihi: 13 Mayıs Ayı 2021
Güncelleme Tarihi: 1 Temmuz 2024
Anonim
Herhangi bir GitHub kütüphanesini Maven, JCenter ve JitPack kullanarak Android Studio'ya ekleyin - Uygulamaların
Herhangi bir GitHub kütüphanesini Maven, JCenter ve JitPack kullanarak Android Studio'ya ekleyin - Uygulamaların

İçerik


Çok az sayıda Android projesi bir ada! Android projelerinin büyük çoğunluğu, üçüncü taraf Android kütüphaneleri dahil olmak üzere diğer bazı bileşenlere bağımlıdır.

Bir Android kütüphanesi, normal bir Android projesinde, kaynak kodu, kaynaklar ve bir Manifest gibi bulabileceğiniz aynı dosyaları içerir. Ancak, bir Android cihazında çalışabilen bir Android Paket Kitini (APK) derlemek yerine, bir kütüphane proje bağımlılığı olarak kullanabileceğiniz bir kod arşivine derlenir. Bu kitaplıklar, vanilya Android platformunda bulunmayan bazı özellikler de dahil olmak üzere çok çeşitli ek işlevlere erişmenizi sağlar.

Android kitaplıklarını bulmak için en iyi yerlerden biri GitHub. Bununla birlikte, GitHub sayfasından ve projenize bir kitaplık almak, özellikle de geliştiricilerin GitHub projelerini dağıtmak için kullanabilecekleri farklı depolar bulunduğu için her zaman kolay değildir - ve bir geliştiricinin hangi depoyu kullandığı her zaman belli olmayabilir!


Bu makalede, GitHub'ta keşfettiğiniz herhangi bir kitaplığı, kütüphanenizi uzak bir bağımlılık olarak mı yoksa yerel bir bağımlılık olarak mı eklemek istediğinizden bağımsız olarak Android projenize nasıl içe aktaracağınızı göstereceğim.

Uzak bağımlılıklar ekleme

Android Studio’nun Gradle derleme sistemi projenize kütüphane ekler bağımlılıklar. Bu bağımlılıklar ya Maven ya da JCenter gibi uzak bir havuzda bulunabilir ya da yerel bir bağımlılık olarak projeniz içinde saklanabilir - sadece Gradle'ın bu bağımlılıkları nerede bulabileceğini bilmesi gerekir.

Bir kütüphaneyi uzak bağımlılık olarak eklemek, bir kütüphanenin kodunu projenize almanın en hızlı ve en kolay yoludur, bu yüzden ilk önce bakacağımız yöntem budur. Bir kitaplığı uzak bağımlılık olarak eklediğinizde, Gradle bağımlılığın çalışabilmesi için ihtiyaç duyduğu her şeye sahip olduğundan emin olmanızı sağlar. geçişli bağımlılıklar, bu nedenle bir kütüphaneyi genellikle uzak bir bağımlılık olarak mümkün olan her yerde eklemek isteyeceksiniz.


Uzak bir bağımlılık eklemek için Gradle'a iki bilgi vermeniz gerekir:

  • Depo. Gradle'ın kütüphanenizi (veya kütüphaneleri) nerede arayacağını depolaması gereken depoları (veya depoları) bilmesi gerekir. Android kütüphaneleri Maven Central veya JCenter aracılığıyla dağıtılma eğilimindedir.
  • Derleme deyimi. Bu, kütüphanenin paket adını, kütüphanenin grubunun adını ve kullanmak istediğiniz kütüphanenin sürümünü içerir.

İdeal olarak, kütüphanenin GitHub sayfası size tüm bu bilgileri sağlamalıdır. Gerçekte bu her zaman böyle değildir, ancak en iyi senaryo ile başlayalım ve kütüphanenin GitHub sayfasının bu bilgileri içerdiğini varsayalım.

JCenter ile uzaktan bağımlılık ekleme

StyleableToast, arka plan rengini, köşe yarıçapını ve yazı tipini değiştirme ve simgeler ekleme dahil olmak üzere Android'in kızartmasının her bölümünü özelleştirmenize olanak sağlayan bir kütüphanedir. Ayrıca bu kitaplığı projenize eklemek için ihtiyaç duyduğunuz tüm bilgileri, “Kurulum” bölümünde de vermektedir. Burada, bu projenin JCenter üzerinden dağıtıldığını görebiliriz.

En son Android Studio sürümlerini içeren bir proje oluşturduğunuzda, projenizin build.gradle dosyaları zaten JCenter'ı destekleyecek şekilde ayarlanmıştır. Proje düzeyinde build.gradle dosyanızı açarsanız, JCenter'in zaten 'tüm projeler / depolar' bölümüne dahil edildiğini göreceksiniz:

allprojects {repositories {jcenter ()}}

Proje düzeyinde build.gradle dosyasının iki "depo" bloğu içerdiğini unutmayın; ancak "yapı / depolar" bloğu Gradle'ın bu yapıyı nasıl gerçekleştirdiğini tanımladığınız yerdir. Bu bölüme herhangi bir modül bağımlılığı eklememelisiniz.

Projeniz JCenter'ı kontrol etmek için zaten yapılandırılmış olduğundan, yapmamız gereken tek şey derleme ifademizi modül düzeyinde build.gradle dosyasına eklemektir.

Bir kez daha, StyleableToast bize tam olarak ihtiyaç duyduğumuz bilgileri sağlar, bu nedenle derleme ifadesini StyleableToast’ın GitHub sayfasından kopyalayıp Gradle dosyanıza yapıştırın:

bağımlılıklar {compile com.muddzdev: styleabletoast: 1.0.8}

Gradle dosyalarınızı, ‘Sync’ başlığını tıklatarak veya araç çubuğunda Project Project Gradle Files ile Eşitle ’simgesini seçerek senkronize edin. Gradle, daha sonra Styleabletoast kütüphanesinin var olup olmadığını kontrol etmek ve tüm dosyalarını indirmek için JCenter sunucusunu sorgulayacaktır. Artık bu kütüphaneyi kullanmaya hazırsınız!

2. Maven Central ile uzaktan bağımlılık ekleme

Alternatif olarak, projenin GitHub sayfası bu kütüphanenin Maven Central üzerinden dağıtıldığını belirtirse, Gradle’a bunun yerine Maven Central’ı kontrol etmesini söylemeniz gerekir.

Proje düzeyinde build.gradle dosyanızı açın ve Maven Central'ı “allprojects” bloğuna ekleyin:

allprojects {repositories {mavenCentral ()}}

Buradan işlemin geri kalanı tamamen aynı: modül düzeyinde build.gradle dosyanızı açın, derleme deyimini ekleyin ve Gradle ile eşitleyin.

3. Kendi sunucusunda barındırılan uzak bir bağımlılık ekleme

Bazen, hala JCenter veya Maven Central üzerinden dağıtılan bir projeyle karşılaşabilirsiniz, ancak geliştirici projelerini kendi sunucularında barındırmayı seçti. Bu durumda, projenin GitHub sayfası size çok özel bir URL kullanmanızı söylemelidir, örneğin, Fabric’in Crashlytics Kit deposu https://maven.fabric.io/public adresinde bulunur.

Bu tür bir URL görürseniz, proje düzeyinde build.gradle dosyanızı açmanız ve ardından tam URL ile birlikte depoyu (bu durumda, Maven) bildirmeniz gerekir:

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

Daha sonra derleme deyimini ekleyebilir ve dosyalarınızı normal şekilde eşitleyebilirsiniz.

Depo ve / veya derleme ifadesini bulamazsam ne olur?

Şimdiye kadar iyimser olduk ve projenin GitHub olduğunu varsaydık her zaman size bilmeniz gereken tüm bilgileri söyler. Maalesef, bu her zaman böyle değildir, öyleyse en iyi senaryodan, en kötü senaryoya geçelim ve projenin GitHub sayfasının kullanmanız gereken depo ve derleme ifadesi hakkında hiçbir bilgi sağlamadığını düşünelim.

Bu senaryoda, şunları yapabilirsiniz:

  • JitPack kullanın.
  • Tüm depoyu klonlayın ve kodunu projenize kendi modülü olarak alın.

JitPack'i Kullanma

JitPack, GitHub projelerini uzak bir bağımlılık olarak eklemenizi sağlayan Git için bir paket deposudur. Kütüphane bir derleme dosyası içerdiği sürece, JitPack bu kütüphaneyi projenize eklemek için ihtiyaç duyduğunuz tüm bilgileri üretebilir.

İlk adım, proje düzeyinde build.gradle dosyanızı açmak ve JitPack'i depo olarak eklemektir:

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

Daha sonra JitPack web sitesini kullanarak o projenin GitHub URL'sini temel alan bir derleme ifadesi oluşturabilirsiniz:

  • Web tarayıcınızda, kütüphanenin GitHub sayfasına gidin. URL’sini kopyalayın.
  • JitPack web sitesine gidin.
  • URL’yi web sitesinin arama alanına yapıştırın ve beraberindeki ‘Look Up’ düğmesini tıklayın.
  • Web sayfası daha sonra çeşitli sekmelere bölünerek bu kütüphanenin tüm sürümlerinin bir tablosunu görüntüler: Bültenler, Yapılar, Dallar ve Taahhütler. Genellikle, Sürümler daha kararlı olma eğilimindeyken, Taahhüt bölümü en son değişiklikleri içerir.

  • Hangi sürümü kullanmak istediğinize karar verdikten sonra, beraberindeki ‘Alın’ düğmesini tıklayın.
  • Web sitesi, kullanmanız gereken tam derleme ifadesini görüntülemek için güncellenmelidir.

  • Bu derleme ifadesini kopyalayıp projenizin modül düzeyinde build.gradle dosyasına yapıştırın.
  • Gradle dosyalarınızı senkronize edin; kütüphanenizi kullanmaya başlamak için hazırsınız!

GitHub projesini klonlama

Alternatif olarak, bir kitaplığın depo ve / veya derleme ifadesinden emin değilseniz, klon GitHub projesi. Klonlama, GitHub projesinin tüm kod ve kaynaklarının bir kopyasını oluşturur ve bu kopyayı yerel makinenize kaydeder. Klonu daha sonra projenize kendi modülü olarak içe aktarabilir ve modül bağımlılığı olarak kullanabilirsiniz.

Bu yöntem zaman alabilir ve bir projenin kodunun tamamını içe aktarmak projenizin geri kalanıyla çakışmalara neden olabilir. Bununla birlikte, klonlama, kitaplığın tüm kodlarına erişmenizi sağlar; bu nedenle, kitaplığı özelleştirmek istiyorsanız, örneğin projenizin geri kalanıyla daha iyi bütünleşmek için kodunu ayarlayarak veya yeni özellikler ekleyerek (örneğin, Diğer kişilerin değişikliklerinden yararlanabileceğini düşünüyorsanız, o zaman iyileştirmelerinizi projeye geri kazandırmayı düşünebilirsiniz).

GitHub projesini klonlamak için:

  • GitHub hesabı oluşturun.
  • Android Studio’nun ‘Welcome’ ekranından Version Version Control’den Ödeme’yi seçin.
  • GitHub kimlik bilgilerinizi girin.
  • Web tarayıcınızı açın, klonlamak istediğiniz GitHub deposuna gidin ve URL'sini Android Studio iletişim kutusuna kopyalayın / yapıştırın.
  • Klonlanmış havuzu depolamak istediğiniz yerel dizini belirtin.
  • Bu dizine bir ad verin ve ardından 'Klonla'yı tıklayın.

Artık kitaplığın kodunun bir kopyasına sahipseniz, bu kitaplığı yeni bir modül olarak Android projenize aktarabilirsiniz:

  • Klonlanmış kütüphanenizi kullanmak istediğiniz projeyi açın, sonra Android Studio araç çubuğundan ‘Dosya> Yeni> Modülü İçe Aktar’ seçeneğini seçin.
  • Üç noktalı düğmeyi tıklayın ve klonlanmış havuzunuza gidin. Bu havuzu seçip ‘OK’i tıklayın.
  • ‘Son’u tıklayın.
  • Android Studio araç çubuğundan ‘Dosya> Proje yapısı’ seçeneğini seçin.
  • Soldaki menüden, bu kütüphaneyi kullanmak istediğiniz modülü seçin.
  • End Bağımlılıklar ’sekmesini seçin.

  • Küçük ‘+’ simgesini ve ardından ‘Modül bağımlılığı’ seçeneğini seçin.
  • Kütüphane modülünüzü seçip ‘OK’i (Tamam) tıklayın.
  • ‘Proje yapısı’ penceresinden çıkın.

Kullanmakta olduğunuz kütüphaneye bağlı olarak, projeniz derlenmeden önce içe aktarılan kodunuzda bazı düzenlemeler yapmanız gerekebilir. Örneğin, Android Studio’nun sekmesi uyumsuz minSdkVersions’la ilgili şikayette bulunuyorsa, olasılıkla kitaplık tarafından kullanılan API’ler projenizin build.gradle dosyasında tanımlanan Android platformunun sürümleriyle uyumlu değildir. Benzer şekilde, Android Studio projenizin buildToolsVersion uygulamasından şikayet ediyorsa, kütüphanede tanımlanan sürüm ile projenizde başka bir yerde tanımlanan sürüm arasında bir uyumsuzluk olması muhtemeldir. Her iki senaryoda da, her iki build.gradle dosyasında tanımlanan değerleri kontrol etmeniz ve bunları uygun şekilde değiştirmeniz gerekecektir.

Sorun giderme

Ne zaman çalışıyorsun herhangi tür bir üçüncü taraf yazılımı, genel bir kural olarak, uyumsuzluklar, hatalar ve her şeyle karşılaşmanız daha olasıdır garip Aynı ekip tarafından geliştirilen bir yazılım grubunu kullanırken ve bulmacanın her bir parçasının birlikte çalışacak şekilde tasarlandığı durumla karşılaştırıldığında davranış.

Projenize bir kütüphane ekledikten sonra sorun yaşarsanız, aşağıdaki düzeltmeleri deneyin:

  • Aynı kütüphanenin yanlışlıkla birden fazla sürümünü eklemediğinizi kontrol edin. Android Studio “birden fazla DEX dosyası tanımla…” hatası bildiriyorsa, aynı kitaplığı projenize bir kereden fazla eklemiş olabilirsiniz. Android Studio araç çubuğundan review Dosya> Proje yapısı ’nı seçip incelemek istediğiniz modülü seçip‘ Bağımlılıklar ’sekmesini tıklayarak modülün bağımlılıklarını inceleyebilirsiniz. Bu pencerede bir kütüphane birden çok kez görünürse, kopyayı seçin ve kaldırmak için küçük ‘-’ simgesini tıklayın.
  • İnternette ara. Başkalarının sizinle aynı sorunla karşılaşmış olma ihtimali her zaman vardır, bu nedenle forumda veya Stackoverflow gibi topluluklarda bu konuda herhangi birisinin yayınlanmış olup olmadığını görmek için hızlı bir Google araması yapın. Şanslı olabilir ve bu sorunun çözülmesine yönelik talimatlar içeren bir blog ya da bir ders bulabilirsiniz.
  • Projenizi temizleyin ve yeniden oluşturun. Bazen, Android Studio araç çubuğundan ‘Build> Clean project’ seçip ardından followed Build> Rebuild project ’seçerek sorununuzu çözmeniz yeterli olabilir.
  • Ve hepsi başarısız olursa… Üçüncü taraf yazılımların doğru çalışması için bazen biraz deneme yanılma gerekir, bu nedenle seçili kitaplığınızı içe aktarmanın alternatif bir yöntemi varsa, denemeye değer. Projeniz, klonlanmış bir depoyu içe aktardıktan sonra derlemeyi reddettiği için, aynı kitaplığı uzak bir bağımlılık olarak kullanmaya çalışırsanız, mutlaka aynı tepkiyi vereceği anlamına gelmez.

Kaydırma

Bu makalede, GitHub'ta keşfettiğiniz herhangi bir kütüphaneyi, bu kütüphanenin JCenter veya Maven Merkezi aracılığıyla dağıtılıp dağıtılmadığına bakmaksızın Android projenize nasıl ekleyebileceğinizi inceledik. Ve, hangi depo veya derleme deyimini kullanmanız gerektiği hakkında hiçbir fikriniz olmasa bile, her zaman JitPack kullanma veya kitaplığın kodunu klonlama seçeneğiniz vardır.

GitHub'da harika bir Android kütüphanesi buldunuz mu? Aşağıdaki yorumlarda bize bildirin!

AndroidAuthority.com ile güncel kalmak için en iyi yolu arıyoranız, Android için AA uygulamaından başka bir yere bakmayın. Google Play tore'da ücretiz olarak unulan remi AA uyg...

Google Pikel 2 veya Google Pixel 3’ün kenarlarını ıktığınızda Google Aitan’ı başlatır. Active Edge olarak bilinen bu özellik, farklı bir yardımcı uygulama başlatmak için Android Q'd...

En Çok Okuma