Menambahkan perpustakaan eksternal di studio Android

119

Saya ingin menambahkan perpustakaan eksternal https://github.com/foursquare/foursquare-android-oauth ke aplikasi Android saya (saya menggunakan Android Studio, instruksi yang diberikan oleh penulis lib untuk Eclipse tidak berfungsi untuk Android Studio).

Saya sudah mencoba melakukannya dengan maven, jadi di File-> Project Structure-> Dependencies saya telah menambahkan com.foursquare:foursquare-android-nativeoauth-lib:1.0.0tetapi Gradle Sync gagal:

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

Ketika saya mencoba membangun aplikasi saya (tanpa memperbaiki kesalahan di atas karena saya tidak tahu caranya) saya mendapatkan:

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.

Adakah cara lain untuk mengimpor lib ini? Saya cukup menyalin-tempel kode sumber ke dalam sumber saya atau membuat JAR darinya?

BTW: jika Anda mengalami masalah, lihat pertanyaan ini (Saya mengalami masalah ini setelah mengimpor): Penggabungan manifes gagal: using-sdk: minSdkVersion 14

Marian Paździoch
sumber

Jawaban:

96

Coba ini:

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

Di mana ketergantungan modul adalah folder Android pustaka proyek.

malcubierre.dll
sumber
2
Saya mengetahuinya dari pengalaman dan memeriksa .... Tetapi ada dokumen yang tersedia: developer.android.com/sdk/installing/studio-build.html
malcubierre
26
Bagaimana seseorang dapat melakukan ini TANPA menyalin? Pustaka digunakan oleh proyek non-Android lainnya dan diperbarui secara rutin. Jika itu menyalin sumber, maka perubahan ke aslinya tidak akan terlihat. Bukankah itu bodoh?
Brian Reinhold
1
di mana opsi Struktur Proyek?
zulkarnain shah
2
Menemukan ketergantungan modul tetapi kemudian saya mendapat dialog "Pilih Modul \ nPilih modul yang harus bergantung pada modul saat ini: \ nTidak ada yang ditampilkan \ n [Oke] [Batal]". Tidak dapat memilih perpustakaan yang diunduh.
David162795
1
Saya telah menambahkan pustaka eksternal dengan cara ini dan mendapat pesan kesalahan "Tidak dapat menyelesaikan ketergantungan untuk ': app @ buildTypeUnitTest / compileClasspath': Tidak dapat menyelesaikan proyek: zip_file." Kode yang dihasilkan dalam ketergantungan adalah `project implementasi (': zip_file')`. Juga, saya menggunakan 'com.android.tools.build:gradle:3.2.0-rc03' dan https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola
208

Cobalah salah satu pendekatan berikut:

Pendekatan 1)

1- Pilih tampilan proyek

masukkan deskripsi gambar di sini

2- Salin file JAR Anda di app -> folder lib

masukkan deskripsi gambar di sini

3- Klik kanan pada file JAR Anda dan pilih tambahkan sebagai perpustakaan

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

4- Periksa di build.gradle

masukkan deskripsi gambar di sini


Pendekatan 2)

1- File -> Baru -> Modul Baru

masukkan deskripsi gambar di sini

2- Impor Paket .JAR / .AAR

masukkan deskripsi gambar di sini

3- Jelajahi File JAR Anda

masukkan deskripsi gambar di sini

4- Selesai

5- File -> Struktur Proyek -> Dependensi

masukkan deskripsi gambar di sini

6- Anda harus mengklik tombol + dan kemudian mengklik Module Dependency

masukkan deskripsi gambar di sini

7- Anda akan melihat perpustakaan Anda di sini

masukkan deskripsi gambar di sini

8 - pilih perpustakaan Anda dan klik ok

masukkan deskripsi gambar di sini

9- Kemudian, Anda akan melihat bahwa perpustakaan Anda ditambahkan.

masukkan deskripsi gambar di sini


Untuk dua pendekatan pertama, Anda memerlukan file JAR. Anda dapat mencari di http://search.maven.org/ untuk menemukan file JAR yang berhubungan dengan Android. Misalnya, ini adalah hasil pencarian untuk jdom di tautan ini

Hasil pencarian untuk jdom


Pendekatan 3) Android menggunakan http://jcenter.bintray.com/ sebagai perpustakaan jarak jauh. Misalnya, ini adalah hasil pencarian untuk jdom di link.

jcenter jdom

Untuk menambahkan perpustakaan dalam pendekatan ini, ikuti langkah-langkah berikut:

1- File -> Struktur Proyek -> Dependensi

masukkan deskripsi gambar di sini

2- Klik tombol + dan pilih ketergantungan perpustakaan

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

3- Temukan perpustakaan Anda dan pilih, lalu klik OK.


Saya harap ini membantu.

Mohammad
sumber
13
Jawaban terbaik di semua stack overflow
mizerablebr
1
Saya senang jawaban saya bermanfaat bagi Anda. Saya sangat menghargai tanggapan Anda.
Mohammad
1
Approche 2 berhasil untuk saya. Terima kasih atas ilustrasinya :)
Hichem Acher
1
Terima kasih kembali. Saya senang posting ini membantu Anda.
Mohammad
Terima kasih banyak!!
Vinoth Vino
28

Untuk mereferensikan proyek lib eksternal tanpa salinan, cukup lakukan ini: - Masukkan 2 baris ini pada setting.gradle:

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

Masukkan baris ini pada bagian dependensi build.gradlefile:

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

Sinkronkan proyek

Pedro Santos
sumber
1
Jawaban yang bagus, membuat link ke perpustakaan asli, sehingga Anda tidak perlu mengimpor ulang setiap kali kode perpustakaan berubah!
Diman
21

Ada dua cara paling sederhana jika salah satu tidak berfungsi, silakan coba yang lain.

  1. Tambahkan dependensi pustaka di dalam dependensi di dalam build.gradlefile pustaka yang Anda gunakan, dan tempelkan pustaka Anda di pustaka eksternal.

ATAU

  1. Cukup Pergi ke libsfolder Anda di dalam appfolder dan tempel semua .jarfile Perpustakaan mis Anda di sana, Sekarang trik di sini adalah sekarang masuk ke dalam settings.gradlefile sekarang tambahkan baris ini include ':app:libs'setelah include ':app'itu pasti akan berfungsi.
Sudhanshu Gaur
sumber
19

Adakah cara lain untuk mengimpor lib ini? Saya cukup menyalin-tempel kode sumber ke dalam sumber saya atau membuat JAR darinya?

Selesaikan Langkah-langkah untuk mengimpor perpustakaan di Android Studio 1.1

  1. Goto File -> Import Module.
  2. Direktori Sumber -> Jelajahi jalur proyek.
  3. Tentukan Nama Modul
  4. Buka file build.gradle (Module: app)
  5. Tambahkan baris berikut dengan nama modul Anda

    kompilasi proyek (': internal_project_name')

Diambil dari: cara menambahkan pustaka di Android Studio

Tahu
sumber
8

Jawaban yang terlambat, meskipun saya berpikir untuk memberikan jawaban yang mendalam untuk pertanyaan ini. Metode ini cocok untuk Android Studio 1.0.0 dan yang lebih baru.

LANGKAH

  1. Pertama, alihkan struktur folder Anda dari Android ke Project .

masukkan deskripsi gambar di sini

  1. Sekarang cari folder libs di dalam folder app - build.

masukkan deskripsi gambar di sini

  1. Setelah Anda menempelkan file .jar di dalam folder libs. Klik kanan pada file jar dan pada akhirnya klik Add as library . Ini akan menangani penambahan file kompilasi ('libs / library_name.jar') di build.gradle [Anda tidak perlu memasukkan ini secara manual di file build Anda].

masukkan deskripsi gambar di sini

Sekarang Anda dapat mulai menggunakan perpustakaan dalam proyek Anda.

capt.swag
sumber
dalam kasus saya saat menggunakan pendekatan pertama, saya tidak melihat opsi tambahkan sebagai perpustakaan dalam daftar..tetapi opsi kedua berhasil untuk saya. Tetapi pertanyaan saya adalah mengapa opsi tambahkan sebagai perpustakaan tidak ditampilkan dalam kasus saya
Abdul Waheed
Sangat membantu Terima kasih! Catatan: Setelah memperbarui android studio, tombol "Add As Library" tidak lagi berada di bagian bawah daftar. Sekarang sekitar ke-5 dari bawah.
JFreeman
8

Saya juga menghadapi masalah ini. Saat itu saya mengikuti beberapa langkah seperti:

  1. File> New> Import module> select your library_project. Kemudian include 'library_project'akan ditambahkan dalam settings.gradlefile.

  2. File> Project Structure> App> Dependencies Tab> select library_project. Jika library_projecttidak menampilkan, klik +tombol lalu pilih library_project.

  3. Bersihkan dan bangun proyek Anda. Baris berikut akan ditambahkan dalam modul aplikasi Anda build.gradle( petunjuk: ini bukan yang classpathditentukan ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Jika baris ini tidak ada, Anda harus menambahkannya secara manual dan membersihkan serta membangun kembali proyek Anda lagi ( Ctrl + F9).

  2. Folder bernama library_projectakan dibuat di folder aplikasi Anda.

  3. Jika ada ikon atau kesalahan penggabungan tugas yang dibuat, buka AndroidManifestfile dan tambahkan<application tools:replace="icon,label,theme">

Ratna Halder
sumber
7

Tiga cara di studio android untuk menambahkan perpustakaan eksternal.

  1. jika Anda ingin menambahkan dependensi proyek libarary dalam proyek Anda:

    A. Dalam menu file klik baru dan pilih modul impor pilih jalur proyek perpustakaan Anda dan klik ok, proyek perpustakaan secara otomatis menambahkan proyek studio android Anda.

    B. Sekarang buka file gradle modul utama Anda (seperti aplikasi) dan tambahkan dependensi project di dependensi bagian dependensi {

    kompilasi proyek (': nama proyek perpustakaan')

  2. jika Anda ingin menambahkan file jar: A. tambahkan file jar di folder libs. B. Dan Tambahkan ketergantungan

    kompilasi fileTree (dir: 'libs', include: '* .jar') // tambahkan semua file jar dari folder libs, jika Anda ingin menambahkan jar tertentu dari libs tambahkan dependensi di bawah ini.

    kompilasi file ('libs / abc.jar')

  3. Tambahkan Ketergantungan dari url (disarankan). Suka

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

vinod
sumber
hi vinod, dapatkah Anda menjelaskan cara menambahkan ketergantungan dengan URL? Juga, apakah itu bisa berupa URL git yang jika mengalami perubahan akan diimpor langsung ke proyek saya? Saya sedikit baru dalam perkembangan ini jadi mohon bersabarlah jika ini pertanyaan sederhana :)
Katakam Nikhil
Hai Nikhil, harap baca artikel terkait ketergantungan android yang saya sebutkan developer.android.com/studio/build/dependencies.html
vinod
6

Untuk cara yang paling sederhana ikuti saja langkah-langkah ini

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

  2. Tambahkan perpustakaan untuk memasukkan bagian dalam file settings.gradle dan sinkronkan proyek (Setelah itu Anda dapat melihat folder baru dengan nama perpustakaan ditambahkan dalam struktur proyek)

    include ':mylibraryName'

  3. Buka File -> Struktur Proyek -> aplikasi -> tab ketergantungan -> klik tombol plus

  4. Pilih ketergantungan modul -> pilih perpustakaan (nama perpustakaan Anda harus muncul di sana) dan letakkan cakupan (kompilasi atau implementasi)

  5. Tambahkan baris ini di build.gradle di modul tingkat aplikasi di bagian dependensi

    implementation project(':mylibraryName')

kunal khedkar
sumber
3

Jika pustaka yang Anda butuhkan ada di GitHub, menambahkannya ke Android Studio dengan mudah dengan JitPack .

Langkah 1. Tambahkan repositori jitpack ke build.gradle:

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

Langkah 2. Tambahkan repositori GitHub sebagai dependensi:

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

JitPack bertindak sebagai repositori maven dan dapat digunakan seperti Maven Central. Hal yang menyenangkan adalah bahwa pengelola tidak perlu mengunggah perpustakaan tersebut. Di balik layar JitPack akan memeriksa kode dari GitHub dan mengkompilasinya. Oleh karena itu agar ini berfungsi, perlu ada file build yang berfungsi di repositori git.

Ada juga panduan tentang cara mempublikasikan perpustakaan Android.

Andrejs
sumber
Bukankah ini akan menyimpan file ketergantungan di pohon proyek?
pengguna7860670
2

Android studio tidak menggunakan Maven, itu digunakan Gradle, Anda bisa membuka build.gradlerute yang seharusnya: /app/build.gradledan menambahkan dependensi Gradle yang muncul di repo:

The build.gradlememiliki dependenciesbagian:

dependencies {
    //here add your dependency
}

Repo mengatakan bahwa Anda perlu menambahkan ketergantungan ini:

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

cukup tambahkan baris itu ke dependencieson Anda buil.gradle, simpan file, dan android akan membangun kembali proyek, itu saja

Carlos Herrera Plata
sumber
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.

Buka file build.gradle (Module: app).

 implementation project(':library')
Soumen Das
sumber
1

Ubah proyek github apa pun menjadi implementasi gradle baris tunggal dengan situs web ini

https://jitpack.io/

Contoh, saya membutuhkan proyek ini: https://github.com/mik3y/usb-serial-for-android

Yang saya lakukan hanyalah menempelkannya ke file gradle saya:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'
cagney
sumber
Kamu menyelamatkanku! :). Terima kasih, terima kasih banyak. Sangat mudah dengan trik yang Anda katakan! : Saya berjuang hampir 4 jam, sebelum saya melihat jawaban Anda! :)
Victor
0

Saya memiliki masalah yang sama. Ini terjadi karena ketergantungan pustaka inti. Saya menggunakan javax. *. Inilah yang saya lakukan untuk memperbaikinya

Dalam File-> Struktur Proyek-> Dependensi saya menambahkan ini sebagai file yang disediakan, bukan kompilasi. Kemudian bangun kembali proyek tersebut.

Masalah ini dimulai setelah pemutakhiran studio android. Tapi saya pikir itu terjadi ketika Anda mencoba mengedit Anda membuat file secara manual.

sudheer
sumber
0

Menambahkan perpustakaan di Android studio 2.1

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

Ubah saja ke Project View

di bawah app->lib folderAnda dapat langsung menyalin dan menempel lib dan melakukan sinkronisasi android. Itu dia

Vinayak Shedgeri
sumber
Salin-Tempel lib? Ini adalah url ke repo github
Odys
0

1) dapatkan lib Anda dari sini http://search.maven.org/

2) buat folder libs di direktori aplikasi

3) rekatkan perpustakaan Anda di sana

4) klik kanan pada perpustakaan Anda dan klik "Tambahkan sebagai Perpustakaan"

5) hanya itu yang perlu Anda lakukan!

Saya harap ini pasti akan membantu Anda !!!!

Aditya Kumar
sumber
0

Ada beberapa perubahan pada gradle 4.1 baru

alih-alih mengkompilasi kita harus menggunakan implementasi

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

Vahe Gharibyan
sumber
-1
  1. Di bagian repositories build.gradle proyek, tambahkan yang berikut ini:
flatDir { dirs 'aars' } 
  1. Di bagian dependensi build.gradle tambahkan yang berikut ini:

kompilasi '[id grup]: [id artefak]: [versi] @aar'

mengganti [group id] dll dengan berbagai atribut lib

  1. buat sub direktori di aarsbawah direktori proyek Anda

  2. Salin [youlibrary].aarke subdirektori yang dibuat pada 3. di atas.

  3. Bangun & Nikmati!

Ed Manners
sumber
-2

LANGKAH SEDERHANA UNTUK MENAMBAH PERPUSTAKAAN APA PUN DI ANDROID STUDIO:

  1. Salin file yang dimaksud dari folder mana pun di komputer Anda (mis. C: /documents/xyz.jar "), lalu buka Android Studio dan klik kanan folder Project Library dan pilih tempel.

  2. Sekarang, klik kanan pada file Perpustakaan yang baru ditambahkan dan pilih opsi "tambahkan sebagai Perpustakaan"

SELESAI

John yepthomi
sumber