Saya mencoba menggunakan Android Studio yang baru tetapi sepertinya saya tidak bisa membuatnya bekerja dengan benar.
Saya menggunakan perpustakaan Gson untuk membuat serial / deserialize objek-JSON. Tapi perpustakaan itu entah bagaimana tidak termasuk dalam build.
Saya telah membuat proyek baru hanya dengan MainActivity . Menyalin gson-2.2.3.jar di folder / libs dan menambahkannya sebagai ketergantungan perpustakaan (klik kanan-> Tambahkan sebagai perpustakaan). Ini termasuk toples di android studio sehingga dapat dirujuk dari file sumber.
Ketika saya mencoba menjalankan proyek itu tidak dapat dikompilasi jadi saya menambahkan:
compile files('libs/gson-2.2.3.jar')
ke dependensi dalam file de .gradle. Setelah itu kompilasi dengan benar tetapi ketika menjalankan aplikasi saya mendapatkan ClassDefNotFoundException
.
Adakah yang tahu apa yang saya lakukan salah?
Jawaban:
Saya telah bergumul dengan hal yang sama selama berjam-jam, mencoba membuat toples Gson bekerja tidak kurang. Saya akhirnya memecahkannya - inilah langkah-langkah yang saya ambil:
gson-2.2.4.jar
) ke dalamlibs
folderPastikan itu
compile files('libs/gson-2.2.4.jar')
ada dibuild.gradle
file Anda (ataucompile fileTree(dir: 'libs', include: '*.jar')
jika Anda menggunakan banyak file jar)Sunting: Gunakan
implementation files('libs/gson-2.2.4.jar')
(atauimplementation fileTree(dir: 'libs', include: '*.jar')
) di Android Studio 3.0+Lakukan build bersih (Anda mungkin dapat melakukan ini dengan baik di Android Studio, tetapi untuk memastikan saya menavigasi di terminal ke folder root aplikasi saya dan mengetik
gradlew clean
. Saya menggunakan Mac OS X, perintahnya mungkin berbeda pada sistem AndaSetelah saya melakukan empat di atas, mulai bekerja dengan baik. Saya pikir langkah 'Tambahkan sebagai perpustakaan' adalah langkah yang sebelumnya saya lewatkan, dan tidak berhasil sampai saya membersihkannya juga.
[Sunting - menambahkan
build.gradle
langkah yang juga perlu seperti yang ditunjukkan orang lain]sumber
compile fileTree(dir: 'libs', include: '*.jar')
repositories { mavenCentral() }
dan ganticompile files(...)
saluran Anda dengancompile 'com.google.code.gson:gson:2.2.4'
dan gradle akan secara otomatis mengunduh dan mengelola file jar untuk Anda. Ini memungkinkan SCM untuk hanya melacak file kode sumber dan bukan perpustakaanbuild.gradle
: compile fileTree (dir: 'libs', termasuk: ['* .jar'])Berikut adalah instruksi untuk menambahkan file jar lokal sebagai perpustakaan ke modul:
Buat folder 'libs' di bagian atas direktori modul (direktori yang sama yang berisi direktori 'src')
Di
build.gradle file
tambahkan berikut ini sehingga penutupan dependensi Anda memiliki:Android Studio seharusnya sudah menyiapkan pembungkus gradlew. Dari baris perintah, navigasikan ke tingkat atas proyek Anda (direktori yang memiliki
gradlew
file).Lari
./gradlew assemble
. Ini harus mengkompilasi proyek dengan perpustakaan. Anda mungkin perlu memperbaiki kesalahan dalam file build.gradle Anda seperlunya.Agar Android Studio mengenali file jar lokal sebagai pustaka untuk dukungan saat melakukan koding pada IDE, Anda perlu mengambil beberapa langkah lagi:
4.1. Klik kanan pada modul di panel sebelah kiri dan pilih
Open Library Settings
.4.2. Di panel kiri dialog, pilih
Libraries
.4.3. Klik
+
tanda di atas panel kedua dari kiri ->Java
4.4. Pilih toples lokal Anda dan tambahkan ke proyek.
Anda mungkin perlu menjalankan
./gradlew
perintah di atas sekali lagisumber
Dalam proyek klik kanan
Ikuti tangkapan layar di bawah ini:
1:
2:
3:
Anda akan melihat ini:
sumber
Di Android Stuido, saya suka menggunakan Gradle untuk mengelola Gson lib.
Tambahkan dependensi di bawah ini dalam file build.gradle Anda.
Semuanya baik-baik saja.
Anda juga dapat melihat pos ini. Cara terbaik untuk mengintegrasikan perpustakaan pihak ketiga di Android studio
sumber
IIRC, cukup menggunakan "Tambahkan sebagai pustaka" tidak cukup untuk dikompilasi dengan proyek.
Periksa bantuan Intellij tentang menambahkan perpustakaan ke proyek
Bagian yang paling menarik bagi Anda adalah ini:
Jika perpustakaan tidak muncul dalam dialog, tambahkan di pengaturan Perpustakaan, tepat di bawah Modul.
Anda tidak perlu menambahkan
compile files()
lagi, dan perpustakaan harus ditambahkan dengan benar ke proyek Anda.sumber
Semua solusi ini sudah ketinggalan zaman. Sangat mudah sekarang di Android Studio:
File> Modul Baru ...
Layar selanjutnya terlihat aneh, seperti Anda memilih beberapa widget atau sesuatu tetapi tetap pada gambar pertama dan di bawah gulir dan temukan "Impor JAR atau .AAR Paket"
Kemudian ambil
Project Structure
dari menu File. Pilihapp
dari jendela yang terbuka lalu pilihdependencies
, lalu tekangreen plus button
, pilihmodule dependency
kemudian pilih modul yang Anda impor kemudian tekanOK
sumber
sumber
'kompilasi file ...' dulu berfungsi untuk saya, tetapi tidak lagi. setelah banyak rasa sakit, saya menemukan bahwa menggunakan ini malah berfungsi:
compile fileTree(dir: 'libs', include: '*.jar')
Saya tidak tahu mengapa itu membuat perbedaan, tetapi, setidaknya hal sialan itu berfungsi sekarang.
sumber
Itu memecahkan masalah saya. Coba, jika ada yang ingin lebih detail, beri tahu saya.
sumber
Saya membuatnya bekerja dengan hanya menambahkan satu baris ke
build.gradle
:Jangan lupa klik
Sync now
di sudut kanan atas.Saya menggunakan Android Studio 1.0.1.
sumber
fileTree
garis?Saya menemukan Dependency Manager dari Android Studio cukup berguna dan kuat untuk mengelola dependensi pihak ke-3 (seperti gson yang disebutkan di sini). Menyediakan panduan langkah demi langkah yang sesuai untuk saya (CATATAN: Langkah-langkah ini diuji untuk Android Studio 1.6 dan versi selanjutnya pada platform Windows).
Langkah-1: Goto "Bangun> Edit Perpustakaan dan Ketergantungan ..." itu akan membuka dialog "Struktur Proyek"
Langkah-2: Pilih "aplikasi" dan kemudian pilih tab "Ketergantungan". Kemudian pilih "Tambah> 1 ketergantungan Perpustakaan"
Langkah-3: Dialog "Pilih Ketergantungan Perpustakaan" akan ditampilkan, tentukan "gson" dalam pencarian dan tekan tombol "cari"
Langkah-4: Ketergantungan yang diinginkan akan ditampilkan dalam daftar pencarian, pilih com.google.code.gson: gson: 2.7 (ini adalah versi terbaru pada saat saya menulis jawabannya), tekan OK
Tekan OK pada dialog "Struktur Proyek". Gradle akan memperbarui skrip bangunan Anda.
Semoga ini bisa membantu :)
sumber
Android Studio 2.3.3
Setelah saya melakukan tiga di atas, mulai bekerja dengan baik.
sumber
Unduh & Salin
.jar
file Anda dilibs
folder kemudian tambahkan baris ini ke build.gradle:Jangan lupa klik "Sinkronkan sekarang"
sumber
Anda dapat melakukan ini dengan dua opsi.
cara sederhana pertama.
Salin file .jar ke clipboard kemudian tambahkan ke folder libs. Untuk melihat folder libs di proyek, pilih proyek dari kotak kombo di atas folder.
kemudian klik kanan pada file .jar dan klik add sebagai perpustakaan kemudian pilih modul lalu ok. Anda dapat melihat file .jar di file build.gradle di dalam blok dependensi.
Cara kedua adalah: Kita dapat menambahkan file .jar ke modul dengan mengimpor file .jar ini sebagai modul .jar lalu menambahkan modul ini ke modul apa pun yang kita inginkan.
modul impor ---> pilih file .jar Anda -> daripada impor sebagai .jar -
Kemudian CTRL + ALT + SHIFT + S -> project sturure -> pilih modul yang Anda inginkan atau tambahkan tabung -> Ketergantungan -> Ketergantungan Modul. build.gradle dari modul akan diperbarui secara otomatis.
sumber
Saya sudah melakukan di atas 3 langkah dan pesona kerjanya bagi saya.
(Saya menggunakan Android Studio 2.1.2)
Langkah 1
compile 'com.squareup.okhttp3:okhttp:3.3.1'
) ke dalam skrip gradle build di bawah build.gradle (Module: app) .Langkah 2: Klik kanan pada folder aplikasi -> Baru -> Modul
Langkah 3: Klik Impor Paket JAR / .AAR Kemudian jelajahi paket Anda. sebagai contoh: OkHttp.jar
sumber
Dengan Android Studio 3+:
Anda seharusnya hanya dapat menyalin file jar ke folder libs tepat di bawah folder aplikasi.
... myproject \ app \ libs \ myfile.jar
Kemudian pilih File Proyek dari drop-down di jendela Projects, klik kanan pada proyek, pilih Sinkronkan untuk melihat file di File Proyek. Ini akan secara otomatis menambahkan dependensi dalam file gradle (Module: app).
Ini solusi lain:
Pergi ke tampilan File Proyek (pilih File Proyek dari dropdown).
Pilih Direktori Baru ..., buat folder bernama libs tepat di bawah aplikasi.
Buka File Explorer, salin dan tempel file jar Anda ke folder libs.
Di Android Studio, klik kanan pada file jar, dan pilih Tambahkan sebagai Perpustakaan ... dari menu popup.
Anda akan melihat file yang tercantum dalam daftar dependensi di file gradle:
Buka file java Anda, dan tambahkan pernyataan impor di sana:
sumber
Masukkan
.jar
filelibs
folder proyek Android.Kemudian tambahkan baris kode ini di file gradle aplikasi:
Untuk Android gradle plugin 3.0 dan yang lebih baru, lebih baik menggunakan ini sebagai gantinya:
sumber
Tidak seperti Eclipse, kita tidak perlu mengunduh jar dan meletakkannya di folder / libs. Gradle menangani hal-hal ini kita hanya perlu menambahkan dependensi Gradle, Gradle mengunduhnya dan meletakkannya di cache gradle.
Kita perlu menambahkan dependensi sebagai:
dependencies {implementasi 'com.google.code.gson: gson: 2.2.4'}
Itu saja. Namun kita juga dapat mengunduh jar & menambahkan itu sebagai pustaka tetapi praktik terbaik adalah menambahkan dependensi Gradle.
sumber
sumber
Langkah 1: Sekarang di bawah Anda
app folder
Anda harus melihatlibs
, jika Anda tidak melihatnya, maka buatlah .Langkah 2 :
Drag & Drop the .jar file here
Anda mungkin mendapatkan prompt"This file does not belong to the project"
, cukup klikOK
Tombol.Langkah 3: Sekarang Anda akan melihat file jar di bawah folder libs , klik kanan pada file jar dan pilih
"Add as library", Click OK for prompt "Create Library"
Langkah 4: Sekarang toples ini telah ditambahkan.
sumber
Buat folder libs. Tambahkan file .jar Anda. Klik kanan padanya dan Anda akan menemukan add jar sebagai ketergantungan. Klik itu. Yang perlu Anda lakukan. Anda dapat menemukan dependensi yang ditambahkan ke file build.gradle Anda.
sumber
1) buat folder 'your_libs' di dalam folder Project / app / src.
2) Salin file jar Anda ke folder 'your_libs' ini
3) Di Android Studio, buka File -> Struktur Proyek -> Dependensi -> Tambah -> Ketergantungan File dan navigasikan ke file jar Anda, yang harus di bawah 'src / your_libs'
3) Pilih file jar Anda dan klik 'Oke'
dan kemudian Anda dapat melihat di build.gradle Anda seperti ini: kompilasi file ('src / your_libs / your.jar')
sumber
Di android Studio 1.1.0. Saya memecahkan pertanyaan ini dengan mengikuti langkah-langkah:
1: Masukkan file jar ke direktori libs. (di Pencari)
2: Buka pengaturan modul, pergi ke Dependensi, di sudut kiri bawah ada tombol plus. Klik tombol plus lalu pilih "Ketergantungan File". Di sini Anda dapat melihat file jar Anda. Pilih dan diselesaikan.
sumber
Saya telah membaca semua jawaban di sini dan semuanya sepertinya mencakup versi lama Android Studio!
Dengan proyek yang dibuat dengan Android Studio 2.2.3, saya hanya perlu membuat
libs
direktori di bawahapp
dan menempatkan toples saya di sana. Saya melakukannya dengan manajer file saya, tidak perlu mengklik atau mengedit apa pun di Android Studio.Mengapa ini berhasil? Buka Bangun / Edit Perpustakaan dan Dependensi dan Anda akan melihat:
sumber
Di Mac OS X:
Tambahkan jar sebagai perpustakaan (seret tabung ke lib, klik kanan tambahkan sebagai lib)
Tambahkan pernyataan kompilasi ke
build.grade
Instal
gradle v1.6
(gunakan homebrew)gradle clean (membangun kembali android tidak berfungsi)
Ini memilah saya.
sumber
Seperti yang banyak ditunjukkan sebelumnya Anda harus menambahkan
ke file build.gradle Anda.
Namun saya memiliki proyek di Android Studio yang dimigrasikan dari Eclipse dan dalam hal ini folder "libs" bernama "lib" jadi bagi saya menghapus "s" menyelesaikan masalah.
sumber
libs
folder di tingkatapp
.jars
dalam proyek ini.libs
folder,add library
Saya mengamati CTRL+ ALT+ SHIFT+ S-> struktur proyek -> modul-aplikasi -> Ketergantungan "sudah memiliki entri seperti di
(dir: 'libs', include: '*.jar')
bawahcompile-option
, awalnya. Dan setelah menambahkan tabung sesuai langkah-langkah yang disebutkan di atas,build.gradle
mendapat entri untuk yang baru ditambahkan botol itu sendiri.sumber
Di Android Studio 2.1 saya ikuti cara ini,
Aplikasi Goto -> src-> main -> folder aset (Jika tidak tersedia, buatlah) -> masukkan file JAR Anda
Di build.gradle Anda tambahkan dependensi seperti ini,
Sinkronkan sekarang. Sekarang file JAR Anda siap digunakan.
sumber
Untuk Android 1.0.2 yang lebih baru, berikut sudah ada di file build.gradle Anda
Tambahkan toples perpustakaan ke folder libs Anda -> klik kanan perpustakaan -> klik tambahkan sebagai perpustakaan -> ia meminta Anda untuk proyek untuk menambahkannya untuk -> pilih proyek Anda-> klik ok Baris berikut secara otomatis ditambahkan untuk membangun .gradle
Itu berhasil untuk saya. tidak diperlukan lagi. Saya telah menunjukkan ini untuk android aquery perpustakaan pihak ketiga yang lain untuk android.
sumber
Jawaban saya pada dasarnya mengumpulkan beberapa jawaban yang benar tetapi tidak lengkap yang diberikan di atas.
Tambahkan yang berikut ini:
Ini akan memungkinkan dukungan untuk dua cara berbeda dalam menambahkan dependensi. The
compile fileTree(dir: 'libs', include: ['*.jar'])
(sebagai @Binod disebutkan) memberitahu compiler untuk melihat di bawah libs folder untuk jar APAPUN. Ini adalah praktik yang baik untuk membuat folder 'libs' yang akan berisi paket jar yang perlu digunakan aplikasi kita.Tetapi ini juga akan memungkinkan dukungan untuk ketergantungan Maven. Kompilasi
'com.google.code.gson:gson:2.3'
(seperti yang disebutkan oleh @saneryee) itu adalah cara lain yang disarankan untuk menambahkan dependensi yang berada dalam repositori jauh pusat dan tidak / libs kami "repositori lokal". Ini pada dasarnya memberi tahu gradle untuk mencari versi paket itu dan memberitahu kompiler untuk mempertimbangkannya ketika mengkompilasi proyek (memilikinya di classpath)PS: Saya pakai keduanya
sumber