Android stüdyosunda harici kitaplık ekleme


119

Android uygulamama harici kitaplık https://github.com/foursquare/foursquare-android-oauth eklemek istiyorum (Android Studio kullanıyorum, kitap yazarının Eclipse için sağladığı talimatlar Android Studio için çalışmadı).

Bunu maven ile yapmayı denedim, bu yüzden Dosya-> Proje com.foursquare:foursquare-android-nativeoauth-lib:1.0.0Yapısı- > Bağımlılıklar'da ekledim ancak Gradle Sync başarısız oluyor:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

Uygulamamı oluşturmaya çalıştığımda (nasıl yapılacağını bilmediğim için yukarıdaki hatayı düzeltmeden):

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

Bu kitaplığı içe aktarmanın başka bir yolu var mı? Kaynak kodunu kopyalayıp kaynağıma yapıştırabilir veya ondan JAR oluşturabilir miyim?

BTW: sorunla karşılaşırsanız şu soruyu görün (içe aktarmadan sonra bu sorunu yaşadım): Manifest birleşme başarısız oldu: uses-sdk: minSdkVersion 14


Yanıtlar:


96

Bunu dene:

File> Project Structure> Dependencies Tab> Add module dependency( scope = compile)

Modül bağımlılığının proje kitaplığı Android klasörü olduğu yer.


2
Deneyimle ve inceleyerek biliyorum ... Ancak mevcut dokümanlar var: developer.android.com/sdk/installing/studio-build.html
malcubierre

26
Bunu kopyalamadan nasıl yapabiliriz? Kitaplık, Android olmayan diğer projeler tarafından kullanılır ve düzenli olarak güncellenir. Kaynağı kopyalarsa, orijinalde yapılan değişiklikler görülmeyecektir. Bu çok aptalca değil mi?
Brian Reinhold

1
Proje Yapısı seçeneği nerede?
zulkarnain shah

2
Eşek modülü bağımlılığı bulundu, ancak sonra "Modülleri Seçin \ nMevcut modülün bağlı olması gereken modülleri seçin: \ nGösterilecek hiçbir şey \ n [Tamam] [İptal]" iletişim kutusu aldım. İndirilen kitaplık seçilemiyor.
David162795

1
Bu şekilde harici kitaplık ekledim ve "': app @ buildTypeUnitTest / compileClasspath' için bağımlılık çözülemiyor: proje: zip_file çözülemedi." Hatası aldım. Bağımlılıkta üretilen kod, uygulama projesidir (': zip_file') `. Ayrıca, 'com.android.tools.build:gradle:3.2.0-rc03' ve https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola

209

Şu yaklaşımlardan birini deneyin:

Yaklaşım 1)

1- Proje görünümünü seçin

görüntü açıklamasını buraya girin

2- JAR dosyanızı app -> lib klasörüne kopyalayın

görüntü açıklamasını buraya girin

3- JAR dosyanıza sağ tıklayın ve kitaplık olarak ekle'yi seçin

görüntü açıklamasını buraya girin görüntü açıklamasını buraya girin

4- build.gradle'da kontrol edin

görüntü açıklamasını buraya girin


Yaklaşım 2)

1- Dosya -> Yeni -> Yeni Modül

görüntü açıklamasını buraya girin

2- .JAR / .AAR Paketini İçe Aktar

görüntü açıklamasını buraya girin

3- JAR Dosyanıza göz atın

görüntü açıklamasını buraya girin

4- Bitir

5- Dosya -> Proje Yapısı -> Bağımlılıklar

görüntü açıklamasını buraya girin

6- + butonuna ve ardından Modül Bağımlılığı'na tıklamalısınız.

görüntü açıklamasını buraya girin

7- Kitaplığınızı burada göreceksiniz

görüntü açıklamasını buraya girin

8- Kitaplığınızı seçin ve Tamam'a tıklayın

görüntü açıklamasını buraya girin

9- Daha sonra kütüphanenizin eklendiğini göreceksiniz.

görüntü açıklamasını buraya girin


İlk iki yaklaşım için bir JAR dosyasına ihtiyacınız vardır. Android ile ilgili JAR dosyalarını bulmak için http://search.maven.org/ adresinde arama yapabilirsiniz . Örneğin, bu, bu bağlantıdaki jdom için arama sonucudur.

Jdom için arama sonucu


Yaklaşım 3) Android, uzak kitaplık olarak http://jcenter.bintray.com/ kullanıyor . Örneğin, bu bağlantıdaki jdom için arama sonucudur.

jcenter jdom

Bu yaklaşıma bir kitaplık eklemek için lütfen şu adımları izleyin:

1- Dosya -> Proje Yapısı -> Bağımlılıklar

görüntü açıklamasını buraya girin

2- + butonuna tıklayın ve kütüphane bağımlılığını seçin

görüntü açıklamasını buraya girin görüntü açıklamasını buraya girin

3- Kitaplığınızı bulun ve seçin, ardından Tamam'a tıklayın.


Umut ediyorum bu yardım eder.


13
Tüm yığın taşmasında en iyi yanıt
mizerablebr

1
Cevabımı faydalı bulduğunuza sevindim. Geri bildiriminiz için gerçekten minnetarım.
Mohammad

1
Approche 2 benim için çalışıyor.
Çizimler

1
Çok rica ederim. Bu gönderinin size yardımcı olmasına sevindim.
Mohammad

1
Android Studio
3.0.1'imde

28

Harici bir kitaplık projesine kopyalama olmadan başvurmak için şunu yapın: - Bu 2 satırı üzerine ekleyin setting.gradle:

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

Bu satırı build.gradledosyanın bağımlılıklar kısmına ekleyin :

compile project(':your-lib-name')

Senkronizasyon projesi


1
Harika yanıt, orijinal kitaplığa bir bağlantı oluşturur, böylece kitaplık kodu her değiştiğinde yeniden içe aktarmanız gerekmez!
diman

21

Biri işe yaramazsa en basit iki yol vardır, lütfen diğerini deneyin.

  1. Bağımlılık içinde kitaplığın bağımlılığını kullandığınız kitaplığın build.gradledosyası içine ekleyin ve kitaplığınızı Harici Kitaplıklar'a yapıştırın.

VEYA

  1. Sadece libsklasörünüzün içindeki appklasörünüze gidin ve tüm .jarörneğin Kitaplık dosyalarınızı buraya yapıştırın , Şimdi buradaki hile, şimdi settings.gradledosyanın içine gidin, şimdi kesinlikle çalışacak include ':app:libs'sonra bu satırı ekleyin include ':app'.

19

Bu kitaplığı içe aktarmanın başka bir yolu var mı? Kaynak kodunu kopyalayıp kaynağıma yapıştırabilir veya ondan JAR oluşturabilir miyim?

Android Studio 1.1'de bir kitaplığı içe aktarmak için tam adımlar

  1. Dosyaya Git -> Modülü İçe Aktar.
  2. Kaynak Dizini -> Proje yoluna göz atın.
  3. Modül Adını Belirtin
  4. Build.gradle (Modül: app) dosyasını açın
  5. Aşağıdaki satırı modül adınızla ekleyin

    proje derleyin (': dahili_proje_adı')

Alıntı: Android Studio'da kitaplık nasıl eklenir


8

Geç bir cevap, bu soruya derinlemesine bir cevap vermeyi düşünmeme rağmen. Bu yöntem, Android Studio 1.0.0 ve üzeri için uygundur.

ADIMLARI

  1. Önce klasör yapınızı Android'den Project'e geçirin .

görüntü açıklamasını buraya girin

  1. Şimdi app - build klasörü içindeki libs klasörünü arayın .

görüntü açıklamasını buraya girin

  1. .Jar dosyasını libs klasörüne yapıştırdıktan sonra. Jar dosyasına sağ tıklayın ve sonunda Kitaplık olarak ekle'ye tıklayın . Bu, build.gradle içine derleme dosyalarını ('libs / library_name.jar') eklemeyi sağlayacaktır [Bunu, derleme dosyanıza manuel olarak girmeniz gerekmez].

görüntü açıklamasını buraya girin

Artık projenizde kitaplığı kullanmaya başlayabilirsiniz.


benim durumumda ilk yaklaşımı kullanırken, listede kitaplık olarak ekle seçeneğini görmedim ... ama ikinci seçenek benim için çalıştı. Ama sorum şu, neden kütüphane olarak ekle seçeneği benim durumumda gösterilmedi
Abdul Waheed

Çok yardımcı oldu Teşekkürler! Not: Android stüdyosunu güncelledikten sonra "Kitaplık Olarak Ekle" düğmesi artık listenin altında görünmez. Şimdi aşağıdan yaklaşık 5. sırada.
JFreeman

8

Ben de bu sorunla karşılaşmıştım. O zamanlar aşağıdaki gibi bazı adımları takip ettim:

  1. File> New> Import module> select your library_project. Daha sonra dosyaya include 'library_project'eklenecektir settings.gradle.

  2. File> Project Structure> App> Dependencies Tab> select library_project. Eğer library_projecto görüntüleyerek değil, tıklayın +ardından düğmesine seçin library_project.

  3. Projenizi temizleyin ve inşa edin. Aşağıdaki satırlar uygulama modülünüze eklenecektir build.gradle( ipucu: burada classpathtanımlanan satır bu değildir ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Bu satırlar yoksa, bunları manuel olarak eklemeniz ve projenizi yeniden temizleyip yeniden oluşturmanız gerekir ( Ctrl + F9).

  2. Uygulama klasörünüzde adlı bir klasör library_projectoluşturulacaktır.

  3. Herhangi bir simge veya görev birleştirme hatası oluşursa, AndroidManifestdosyaya gidin ve<application tools:replace="icon,label,theme">


7

Android stüdyosunda harici bir kitaplık eklemenin üç yolu.

  1. projenize kitaplık proje bağımlılığı eklemek istiyorsanız:

    A. Dosya menüsünde yeniye tıklayın ve içe aktar modülünü seçin, kitaplık proje yolunuzu seçin ve Tamam'a tıklayın, kitaplık projesi otomatik olarak android stüdyo projenize eklenir.

    B. Şimdi ana modül (uygulama gibi) gradle dosyanızı açın ve bağımlılık bölümü bağımlılıklarında proje bağımlılığı ekleyin {

    derleme projesi (': kitaplık proje adı')

  2. jar dosyası eklemek istiyorsanız: A. jar dosyasını libs klasörüne ekleyin. B. Ve bağımlılık ekle

    compile fileTree (dir: 'libs', include: '* .jar') // libs klasöründen belirli bir jar eklemek istiyorsanız aşağıdaki bağımlılığı ekleyin.

    dosyaları derleyin ('libs / abc.jar')

  3. Bağımlılığı url'den ekleyin (önerilir). sevmek

    'com.mcxiaoke.volley: library-aar: 1.0.0' derleyin


merhaba vinod, URL ile bağımlılığın nasıl ekleneceğini açıklar mısınız? Ayrıca, bir değişikliğe uğrarsa doğrudan projeme aktarılan bir git URL'si olabilir mi? Bu gelişmede biraz yeniyim, bu yüzden basit bir
soruysa


6

En basit yol için şu adımları izleyin

  1. Git File-> New-> Import Module->choose library or project folder

  2. Settings.gradle dosyasına dahil edilecek bölümü kitaplık ekleyin ve projeyi senkronize edin (Bundan sonra, kitaplık adı ile yeni klasörün proje yapısına eklendiğini görebilirsiniz)

    include ':mylibraryName'

  3. Dosya -> Proje Yapısı -> uygulama -> bağımlılık sekmesine gidin -> artı düğmesine tıklayın

  4. Modül bağımlılığını seçin -> kitaplığı seçin (kitaplık adınız orada görünmelidir) ve kapsam koyun (derleyin veya uygulama)

  5. Bu satırı, bağımlılık bölümünde uygulama düzeyi modülünde build.gradle'a ekleyin

    implementation project(':mylibraryName')


3

İhtiyacınız olan kitaplık GitHub'daysa, onu Android Studio'ya eklemek JitPack ile kolaydır .

Adım 1. jitpack deposunu build.gradle'a ekleyin:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

Adım 2. GitHub deposunu bağımlılık olarak ekleyin:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

JitPack, bir maven deposu görevi görür ve Maven Central'a çok benzer şekilde kullanılabilir. Güzel olan şey, bakımcıların kitaplığı yüklemek zorunda olmamasıdır. Perde arkasında JitPack, GitHub'daki kodu kontrol edecek ve derleyecektir. Bu nedenle, bunun çalışması için git deposunda çalışan bir yapı dosyası olması gerekir.

Bir Android kitaplığının nasıl yayınlanacağına dair bir kılavuz da var .


Bu, bağımlılık dosyalarını proje ağacında depolamayacak mı?
user7860670

2

Android stüdyosu kullanmaz Maven, kullanır Gradle, build.gradlerotanızı açabilirsiniz : /app/build.gradleve depoda gösterilen Gradle bağımlılığını ekleyin:

build.gradleBir sahiptir dependenciesbölümü:

dependencies {
    //here add your dependency
}

Depo, bu bağımlılığı eklemeniz gerektiğini söylüyor:

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

Yalnızca bu satırı ekleyin dependenciestarihinde adlı buil.gradledosyayı kaydetmektedir, ve android projeyi yeniden inşa edecek, hepsi bu


1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

Build.gradle (Modül: app) dosyasını açın.

 implementation project(':library')

1

Bu web sitesi ile herhangi bir github projesini tek satırlık bir kademeli uygulamaya dönüştürün

https://jitpack.io/

Örnek, bu projeye ihtiyacım vardı: https://github.com/mik3y/usb-serial-for-android

Tek yaptığım bunu gradle dosyama yapıştırmaktı:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'

Beni kurtardın! :). Teşekkür ederim çok teşekkür ederim Söylediğin numara ile bu çok kolay! : Cevabınızı görmeden yaklaşık 4 saattir mücadele ettim! :)
Victor

0

Ben de aynı sorunu yaşadım. Bu, çekirdek kitaplık bağımlılığı nedeniyle oldu. Javax kullanıyordum. *. Bu düzeltmek için yaptığım şey

Dosya-> Proje Yapısı-> Bağımlılıklar'da bunu bir derleme değil, sağlanan dosya olarak ekledim. Ardından projeyi yeniden oluşturun.

Bu sorun android stüdyosunun yükseltilmesinden sonra başladı. Ancak, dosyaları manuel olarak oluşturmanızı düzenlemeye çalıştığınızda bunun olacağını düşünüyorum.


0

Ekleme kütüphane içinde Android stüdyosunda 2.1

Just Go to project -> then it has some android,package ,test ,project view

Sadece Proje Görünümü olarak değiştirin

altında app->lib folderdoğrudan lib kopyalayıp yapıştırabilir ve android senkronize edebilirsiniz. Bu kadar


Kitaplığı Kopyala-Yapıştır? Bir github deposunun url'si
Odys

0

1) kütüphanenizi buradan http://search.maven.org/ adresinden edinebilirsiniz.

2) uygulama dizininde bir libs klasörü oluşturun

3) kütüphanenizi buraya yapıştırın

4) kitaplığınıza sağ tıklayın ve "Kitaplık Olarak Ekle" ye tıklayın

5) Yapmanız gereken tek şey bu!

Umarım bu size kesinlikle yardımcı olur !!!!


0

Yeni 4.1 sürümünde bazı değişiklikler var

derlemek yerine uygulama kullanmalıyız

uygulama 'com.android.support:appcompat-v7:26.0.0'


-1
  1. Projenin build.gradle'ın depolar bölümünde aşağıdakileri ekleyin:
flatDir { dirs 'aars' } 
  1. Build.gradle'ın bağımlılıklar bölümüne aşağıdakileri ekleyin:

derleyin '[grup kimliği]: [yapı kimliği]: [sürüm] @aar'

[grup kimliği] vb. çeşitli lib nitelikleriyle değiştiriliyor

  1. aarsproje dizininizin altında bir alt dizin oluşturun

  2. Öğesini [youlibrary].aaryukarıda 3. adımda oluşturulan alt dizine kopyalayın .

  3. Oluşturun ve Keyfini Çıkarın!


-2

ANDROID STÜDYOSUNA HERHANGİ BİR KÜTÜPHANE EKLEMEK İÇİN BASİT ADIMLAR:

  1. Söz konusu dosyayı bilgisayarınızdaki herhangi bir klasörden kopyalayın (örn. C: /documents/xyz.jar "), ardından Android Studio'ya gidin ve Proje Kitaplığı klasörünü sağ tıklayıp yapıştır'ı seçin.

  2. Şimdi, yeni eklenen Kitaplık dosyasını sağ tıklayın ve "Kitaplık olarak ekle" seçeneğini seçin

YAPILAN

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.