Bagaimana cara menambahkan perpustakaan eksternal di IntelliJ IDEA?

94

Saya mencoba menambahkan pustaka eksternal (meletakkannya di direktori / libs) ke proyek saya. Ketika saya mencoba menggunakan metode dari pustaka itu, saya melihat bahwa mereka berwarna merah yang berarti pustaka tersebut tidak dikenali. Ketika saya mengklik Ctrl + B, saya mendapatkan pesan "Tidak dapat menemukan deklarasi untuk dituju".

Saya menggunakan langkah-langkah ini untuk menambahkan perpustakaan (file JAR): 1. salin file perpustakaan ke / libs dir 2. buka Struktur Proyek -> Perpustakaan Global -> Lampirkan klas 3. temukan perpustakaan dan klik ok

Apakah ini cara yang tepat untuk melakukannya?

PS. Saya mencoba menambahkan file AdMob .jar dengan cara ini.

sandalone
sumber

Jawaban:

156

Prosedur yang lebih mudah pada versi terbaru:

  • Salin jar ke direktori libs di aplikasi (Anda dapat membuat direktori itu jika tidak ada)
  • Segarkan proyek sehingga lib muncul dalam struktur (klik kanan pada tingkat atas proyek, segarkan / sinkronkan)
  • Luaskan libs dan klik kanan pada toples
  • Pilih "Tambahkan sebagai Perpustakaan"

Selesai

Jerman
sumber
1
Teman-teman, ini hanya ada sejak IDEA 13. Saya mengajukan pertanyaan yang saya pikir ketika itu IDEA 9.
sandalone
2
@sandalone Tidak masalah saat ini. Orang yang sampai di sini sekarang kemungkinan besar menggunakan IDE yang mendukung metode sederhana ini sekarang
bahasa Jerman
4
"Salin jar ke direktori libs di app" - Tapi tidak ada direktori libs di "app". Direktori aplikasi saya hanya memiliki direktori out dan src di dalamnya. Jadi saya membuat direktori baru bernama "libs", dan meletakkan jar di dalamnya. Tapi saya tidak tahu apakah ini arah yang dimaksudkan ... Kemudian "Segarkan proyek sehingga libs muncul dalam struktur". Saya tidak dapat menemukan perintah untuk "menyegarkan". Bagaimana cara menyegarkan proyek? Pemula memiliki waktu yang sulit. :-(
Rafael_Espericueta
1
Jawaban ini lebih rapi. stackoverflow.com/questions/1051640/…
唐龍 豹
1
"Perluas libs dan klik kanan pada toples" Tidak benar. Ketika Anda telah menyalin jar Anda di folder 'lib', Anda harus mengklik kanan folder 'lib' dan memilih 'Add as Library ...'
Gerard Verbeek
64

Saya telah menggunakan proses ini untuk melampirkan Jar pihak ketiga ke proyek Android di IDEA.

  • Salin Jar ke direktori libs / Anda
  • Buka Pengaturan Proyek (Ctrl Alt Shift S)
  • Di bawah panel Project Settings di sebelah kiri, pilih Modules
  • Di panel kanan yang lebih besar, pilih tab Dependensi
  • Tekan tombol Tambah ... di ujung kanan layar (jika Anda memiliki layar yang lebih kecil seperti saya, Anda mungkin harus menyeret ubah ukuran ke kanan untuk melihatnya)
  • Dari dropdown Add options, pilih "Library". Dialog "Pilih Perpustakaan" akan muncul.
  • Tekan "Perpustakaan Baru ..."
  • Pilih judul yang cocok untuk perpustakaan
  • Tekan "Lampirkan Kelas ..."
  • Pilih Jar dari direktori libs / Anda, dan tekan OK untuk menutupnya

Perpustakaan sekarang harus dikenali.

Tim Richard
sumber
Sudahkah Anda mencoba melampirkan pustaka AdMob? Setelah langkah-langkah ini saya masih memiliki paket com.google.ads.AdActivity di file Manifest.
sandalone
Lupa menulis bahwa nama paket di Manifest masih merah (sistem tidak melihatnya) dan Ctrl + B masih tidak berfungsi.
sandalone
1
@bergnam, masalah Anda mungkin disebabkan oleh bug penguraian untuk kelas yang dikaburkan, lihat youtrack.jetbrains.net/issue/IDEA-71456 .
CrazyCoder
Hm, mungkin. Satu-satunya perbedaan di sini adalah pustaka ini berfungsi, tetapi tidak dikenali oleh pelengkapan otomatis Manifes. Warnanya merah dan saya tidak dapat menambahkan paket melalui Ctrl + Spasi, tetapi harus mengetiknya secara manual.
sandalone
Setelah mengikuti langkah-langkah ini, saya harus menjalankan paket mvn clean agar perpustakaan dapat diakses.
Jenn
9

Intellij IDEA 15: File-> Struktur Proyek ...-> Pengaturan Proyek-> Perpustakaan

montie
sumber
solusi termudah jika Anda tidak ingin menambahkan kompleksitas maven / gradle / ant build ke proyek sederhana
Pierre
Sepakat. Selain itu, mengapa membuat banyak salinan file JAR yang sama di setiap proyek?
Richard Elkins
2

Cara yang lebih baik dalam jangka panjang adalah dengan mengintegrasikan Gradle di lingkungan proyek Anda. Ini adalah alat build untuk Java, dan sekarang banyak digunakan di ruang pengembangan android.

Anda perlu membuat file .gradle dan mencantumkan dependensi perpustakaan Anda. Kemudian, yang perlu Anda lakukan hanyalah mengimpor proyek di IntelliJ menggunakan Gradle.

Bersulang

AliR
sumber
1

Pertanyaan ini juga dapat diperpanjang jika file jar yang diperlukan dapat ditemukan di perpustakaan global, bagaimana Anda dapat mengkonfigurasinya ke dalam proyek Anda saat ini.

Proses seperti ini: "struktur proyek" -> "modul" -> "klik panel proyek Anda saat ini di kanan" -> "ketergantungan" -> "klik sedikit tombol tambah (+)" -> "perpustakaan" -> "pilih perpustakaan yang Anda inginkan".

jika Anda menggunakan maven dan Anda juga dapat mengonfigurasi ketergantungan di pom.xml Anda, tetapi versi yang Anda pilih tidak seperti pustaka global, Anda akan membuang memori untuk menyimpan versi lain dari file jar yang sama. jadi saya sarankan gunakan langkah pertama.

Kepiting
sumber