Android Studio: Tambahkan jar sebagai perpustakaan?

1027

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?

Ozzie
sumber
Lihat: stackoverflow.com/a/6859020/28557
Vinayak Bevinakatti
1
Meskipun ini tidak menyelesaikan masalah, hanya ingin menunjukkan bahwa "kompilasi" sudah usang karena "implementasi".
Amir Rezazadeh

Jawaban:

1535

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:

  1. Masukkan toples Gson (dalam kasus saya, gson-2.2.4.jar) ke dalam libsfolder
  2. Klik kanan dan tekan 'Tambahkan sebagai perpustakaan'
  3. Pastikan itu compile files('libs/gson-2.2.4.jar')ada di build.gradlefile Anda (atau compile fileTree(dir: 'libs', include: '*.jar')jika Anda menggunakan banyak file jar)

    Sunting: Gunakan implementation files('libs/gson-2.2.4.jar')(atau implementation fileTree(dir: 'libs', include: '*.jar')) di Android Studio 3.0+

  4. 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 Anda

Setelah 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.gradlelangkah yang juga perlu seperti yang ditunjukkan orang lain]

lepoetemaudit
sumber
6
Gradlew clean membantu saya juga. Terima kasih banyak!
František Žiačik
172
Jika Anda tidak ingin harus menambahkan baris untuk setiap file jar secara eksplisit: compile fileTree(dir: 'libs', include: '*.jar')
J c
65
Saya akan merekomendasikan mengambil keuntungan dari manajemen dependensi sementara Gradle dan mengunduh gson dari mavenCentral () (jika memerlukan koneksi internet dapat diterima. Cukup tambahkan repositories { mavenCentral() }dan ganti compile files(...)saluran Anda dengan compile '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 perpustakaan
Joe
38
Saya tidak mendapatkan opsi Tambahkan sebagai Perpustakaan di langkah 2.
Yster
6
Di Android Studio 1.0.2, langkah 2 dan 3 tidak diperlukan karena baris ini sudah ada di default build.gradle: compile fileTree (dir: 'libs', termasuk: ['* .jar'])
Brian Marick
268

Berikut adalah instruksi untuk menambahkan file jar lokal sebagai perpustakaan ke modul:

  1. Buat folder 'libs' di bagian atas direktori modul (direktori yang sama yang berisi direktori 'src')

  2. Di build.gradle filetambahkan berikut ini sehingga penutupan dependensi Anda memiliki:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
  3. Android Studio seharusnya sudah menyiapkan pembungkus gradlew. Dari baris perintah, navigasikan ke tingkat atas proyek Anda (direktori yang memiliki gradlewfile).

    Lari ./gradlew assemble. Ini harus mengkompilasi proyek dengan perpustakaan. Anda mungkin perlu memperbaiki kesalahan dalam file build.gradle Anda seperlunya.

  4. 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

    Tidak bisa

    4.4. Pilih toples lokal Anda dan tambahkan ke proyek.

  5. Anda mungkin perlu menjalankan ./gradlewperintah di atas sekali lagi

ZenBalance
sumber
Ini berhasil untuk saya. Saya memiliki Android Studio versi 1.2 Build 141.1890965, di Ubuntu. Mengapa Anda mengatakan "as of Android Studio 2.5"? Apakah ini versi yang berbeda pada Windows / Mac? (1a) Menemukan ini sulit. Kotak kombo ada di kiri atas area struktur proyek. Perlu memilih "Project" sebagai lawan dari "Android" dan memperluas "app". (1b) Tidak ada opsi "tambah" muncul, tetapi "Tempel" berfungsi. (2) Saya memiliki baris "kompilasi fileTree (dir: 'libs', termasuk: ['* .jar'])", tetapi masih harus menambahkan satu baris eksplisit Anda. (4, 5) tidak diperlukan setelah (3) dilakukan dengan sukses. Terima kasih!
Phil Freihofner
"panel sebelah kiri"? Apakah maksud Anda panel proyek? Bisa di mana saja ... Dengan Android Studio 2.3.3 Saya tidak dapat menemukan Pengaturan Perpustakaan tetapi menambahkan toples ke Ketergantungan dalam Pengaturan Modul tampaknya sama ...
Jan
untuk mac, jika Anda belum gradle: $ brew instal gradle jika Anda mendapatkan "./gradlew: Izin ditolak", Anda perlu menjalankan $ chmod 755 gradlew Kemudian Anda dapat menjalankan $ ./gradlew assemble
Azkario Rizky
110

Dalam proyek klik kanan

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

Ikuti tangkapan layar di bawah ini:

1:

Langkah 1

2:

masukkan deskripsi gambar di sini

3:

masukkan deskripsi gambar di sini

Anda akan melihat ini:

masukkan deskripsi gambar di sini

Ganesh Pandey
sumber
@CamConnor saya juga berpikir begitu .. Jawaban lain sudah ketinggalan jaman
Ganesh Pandey
Ini jawaban THE
Alessandro
4
Tapi itu tidak diakui sebagai libraray. Misalnya, andriod studio editor: cobalah mengimpor paket di toples yang diimpor, tidak dikenali.
Dave
Tidak dapat menemukan cara untuk menghapus modul yang diimpor dengan cara ini.
Dave
Mengapa saya harus menggunakan metode ini untuk menambahkan jar eksternal dan bukan jawaban lain dari metode folder "copy-jar-to-libs"?
Eido95
48

Di Android Stuido, saya suka menggunakan Gradle untuk mengelola Gson lib.

Tambahkan dependensi di bawah ini dalam file build.gradle Anda.

repositories {mavenCentral()}

dependencies {compile 'com.google.code.gson:gson:2.2.4'}

Semuanya baik-baik saja.

Anda juga dapat melihat pos ini. Cara terbaik untuk mengintegrasikan perpustakaan pihak ketiga di Android studio

saneryee
sumber
Metode ini adalah yang terbaik karena menggunakan pakar.
Gary Drocella
1
Hanya ingat untuk memperbarui nomor versi ke yang terbaru :) Sampai sekarang 2.3.1, tetapi periksa tautan
Kitalda
47

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:

(Di File > Project Structure ) Buka pengaturan modul dan pilih tab Dependensi.

Pada tab Ketergantungan, klik tambah dan pilih Perpustakaan.

Dalam dialog Choose Libraries, pilih satu atau lebih libraries dan klik Add Selected.

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.

Jukurrpa
sumber
Tambahkan sebagai pustaka sudah menambahkan jar dengan cara yang sama. Jadi saya pikir hasilnya sama. Saya akan mencobanya nanti.
Ozzie
Tambahkan sebagai perpustakaan berhasil melakukan ini - saya berada di kapal yang sama seperti Anda Ozzie - PERSIS masalah yang sama.
Jonah H.
Baiklah, saya pikir Tambahkan sebagai perpustakaan hanya menambahkannya ke daftar perpustakaan dan tidak menambahkannya sebagai dependensi modul.
Jukurrpa
Ketika saya mencoba ini, saya menemukan itu menambahkan file kompilasi () baris ke file build.gradle saya, tetapi tampaknya menggunakan path absolut ke perpustakaan (/libs/foo.jar). Saya mengubahnya ke jalur relatif (libs / foo.jar), yang memperbaiki masalah bagi saya.
Matt Holgate
40

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 Structuredari menu File. Pilih appdari jendela yang terbuka lalu pilih dependencies, lalu tekan green plus button, pilih module dependencykemudian pilih modul yang Anda impor kemudian tekanOK

Helzgate
sumber
Saya pikir menggunakan pakar masih akan menjadi solusi yang lebih baik terutama untuk proyek-proyek skala besar, yaitu disediakan oleh saneryee.
Gary Drocella
2
Bahkan ini sepertinya sudah ketinggalan zaman. Cukup masukkan file .jar Anda di direktori "libs" Anda dan secara otomatis akan dikompilasi ke proyek Anda. Sudah ada pengaturan aturan default di Android Studio 1.4 untuk memasukkan semua file * .jar dari direktori "libs".
Daniele Testa
35

Langkah mudah untuk menambahkan perpustakaan eksternal di Android Studio

  1. Jika Anda berada di Tampilan Android di penjelajah proyek, ubah ke Tampilan proyek seperti di bawah ini

masukkan deskripsi gambar di sini

  1. Klik kanan modul yang diinginkan di mana Anda ingin menambahkan perpustakaan eksternal, lalu pilih New> Directroy dan beri nama sebagai ' libs '
  2. Sekarang salin blah_blah.jar ke ' libs folder ' '
  3. Klik kanan blah_blah.jar, Lalu pilih ' Tambahkan sebagai Perpustakaan .. '. Ini secara otomatis akan menambah dan masuk dalam build.gradle sebagai file kompilasi ('libs / blah_blah.jar') dan sinkronkan gradle. Dan kamu sudah selesai

Harap Catatan: Jika Anda menggunakan pustaka pihak ke-3 maka lebih baik menggunakan dependensi di mana skrip Gradle mengunduh JAR secara otomatis dan dependensi JAR saat skrip gradle dijalankan.

Mis: kompilasi 'com.google.android.gms: play-services-ads: 9.4.0'

Baca lebih lanjut tentang Gradement Dependency Mangement

Vinayak Bevinakatti
sumber
34

'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.

pengguna2084396
sumber
1
Ini bekerja untuk saya namun baru-baru ini ditemukan kadang-kadang AS tidak mengambil guci baru / diperbarui sampai Anda melakukan sinkronisasi gradle.
scottyab
Ingatlah bahwa, "kompilasi" tidak digunakan lagi untuk "implementasi".
Amir Rezazadeh
17
  1. Unduh file Perpustakaan dari situs web
  2. Salin dari jendela jelajahi
  3. Tempel ke folder lib dari Project Explorer
  4. Ctrl+ Alt+ Shift+ Sbuka Struktur Proyek
  5. Pilih Tab Dependensi, tambahkan file dengan menggunakan +
  6. Toolbar Proyek sinkronisasi dengan file gradle dengan menggunakan tombol

Itu memecahkan masalah saya. Coba, jika ada yang ingin lebih detail, beri tahu saya.

sansalk
sumber
17

Saya membuatnya bekerja dengan hanya menambahkan satu baris ke build.gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
    implementation 'com.google.code.gson:gson:2.3.1'   ----------> I added this one
}

Jangan lupa klik Sync now di sudut kanan atas.

Saya menggunakan Android Studio 1.0.1.

Fergara
sumber
maukah Anda menguraikan apa yang dilakukan fileTreegaris?
Thufir
13

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"

masukkan deskripsi gambar di sini

Langkah-2: Pilih "aplikasi" dan kemudian pilih tab "Ketergantungan". Kemudian pilih "Tambah> 1 ketergantungan Perpustakaan"

masukkan deskripsi gambar di sini

Langkah-3: Dialog "Pilih Ketergantungan Perpustakaan" akan ditampilkan, tentukan "gson" dalam pencarian dan tekan tombol "cari"

masukkan deskripsi gambar di sini

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

masukkan deskripsi gambar di sini

Tekan OK pada dialog "Struktur Proyek". Gradle akan memperbarui skrip bangunan Anda.

masukkan deskripsi gambar di sini

Semoga ini bisa membantu :)

AB
sumber
Saya telah menemukan beberapa masalah dengan pendekatan ini, telah bekerja pada aplikasi yang menggunakan commons-io-2.5. Saat mengunggah aplikasi ke Google Developer Console, itu menunjukkan 0 perangkat yang didukung untuk apk yang ditandatangani. Setelah penyelidikan mendalam, saya menemukan bahwa saya harus meletakkan file jar di app / libs / commons-io-2.5.jar dan memperbarui dependensi di gralde seperti ini 'kompilasi file (' libs / commons-io-2.5.jar ') ', tidak yakin apa yang saya lakukan salah di sini dan mengapa dokumentasi tidak membahas hal ini.
AB
Ini cara kerjanya. Semua jawaban lain tidak berhasil. Android Studio 2.3.3
imsrgadich
11

1. Masukkan tabung (dalam kasus saya, gson-2.2.4.jar) ke folder libs.

2. Pastikan kompilasi file ( libs/gson-2.2.4.jar) ada di file build.gradle Anda.

3. Sekarang Klik pada "Sync Project with Gradle files" (Tombol Kiri ke AVD manager di bar atas).

Setelah saya melakukan tiga di atas, mulai bekerja dengan baik.

Sandeep
sumber
9

Unduh & Salin .jarfile Anda di libsfolder kemudian tambahkan baris ini ke build.gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.code.gson:gson:2.3.1'
}

Jangan lupa klik "Sinkronkan sekarang"

NarenderNishad
sumber
9

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.

 dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:21.0.3'
        implementation project(':okhttp-2.0.0')
        implementation 'com.google.code.gson:gson:2.3.1'
    }

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 - masukkan deskripsi gambar di sini

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. masukkan deskripsi gambar di sini

huseyin
sumber
Bagus. satu edit - Ini "Modul baru" sekarang (Android Studio 1.0.1). "Import module" mengirim Anda ke penyihir yang berbeda ..
Aviv Ben Shabat
7

Saya sudah melakukan di atas 3 langkah dan pesona kerjanya bagi saya.

(Saya menggunakan Android Studio 2.1.2)

masukkan deskripsi gambar di sini

Langkah 1

  • Tambahkan nama paket jar Anda (sebagai contoh compile 'com.squareup.okhttp3:okhttp:3.3.1') ke dalam skrip gradle build di bawah build.gradle (Module: app) .

masukkan deskripsi gambar di sini

Langkah 2: Klik kanan pada folder aplikasi -> Baru -> Modul

masukkan deskripsi gambar di sini

Langkah 3: Klik Impor Paket JAR / .AAR Kemudian jelajahi paket Anda. sebagai contoh: OkHttp.jar

masukkan deskripsi gambar di sini

Elshan
sumber
7

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).

dependencies {
...
    implementation files('libs/myfile.jar')

Ini solusi lain:

Pergi ke tampilan File Proyek (pilih File Proyek dari dropdown).

masukkan deskripsi gambar di sini

Pilih Direktori Baru ..., buat folder bernama libs tepat di bawah aplikasi.

masukkan deskripsi gambar di sini

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.

masukkan deskripsi gambar di sini

Anda akan melihat file yang tercantum dalam daftar dependensi di file gradle:

dependencies {
...
    implementation files('libs/myfile.jar')
}

Buka file java Anda, dan tambahkan pernyataan impor di sana:

import com.xxx.xxx;
cinta hidup
sumber
7

Masukkan .jarfilelibs folder proyek Android.

Kemudian tambahkan baris kode ini di file gradle aplikasi:

    compile fileTree(dir: 'libs', include: ['*.jar'])

Untuk Android gradle plugin 3.0 dan yang lebih baru, lebih baik menggunakan ini sebagai gantinya:

    implementation fileTree(dir: 'libs', include: ['*.jar'])
Aby Mathew
sumber
7

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.

Pankaj kumar
sumber
5
menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar
vuhung3990
sumber
5

Langkah 1: Sekarang di bawah Anda app folderAnda harus melihat libs, 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 klik OKTombol.

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.

masukkan deskripsi gambar di sini

IntelliJ Amiya
sumber
4

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.

Gowtham Chandrasekaran
sumber
4

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')

idris yıldız
sumber
4

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.

mbo
sumber
4

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 libsdirektori di bawah appdan 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:

{include=[*.jar], dir=libs}
0xF
sumber
3

Di Mac OS X:

  1. Tambahkan jar sebagai perpustakaan (seret tabung ke lib, klik kanan tambahkan sebagai lib)

  2. Tambahkan pernyataan kompilasi ke build.grade

  3. Instal gradle v1.6(gunakan homebrew)

    • buat install gradle
    • gradle -v
    • jika tidak v1.6, perbarui homebrew
  4. gradle clean (membangun kembali android tidak berfungsi)

Ini memilah saya.

pengguna2573236
sumber
3

Seperti yang banyak ditunjukkan sebelumnya Anda harus menambahkan

compile files('libs/gson-2.2.3.jar') 

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.

Christina
sumber
3
  1. Menambahkan libsfolder di tingkatapp .
  2. Menambahkan semua jarsdalam proyek ini.
  3. Selanjutnya, pilih semua stoples, di libsfolder,
  4. klik kanan pada item yang dipilih, dan katakan add library
  5. maka Anda akan menemukan opsi ekspansi guci, dalam penjelajah proyek itu sendiri.

Saya mengamati CTRL+ ALT+ SHIFT+ S-> struktur proyek -> modul-aplikasi -> Ketergantungan "sudah memiliki entri seperti di (dir: 'libs', include: '*.jar')bawah compile-option, awalnya. Dan setelah menambahkan tabung sesuai langkah-langkah yang disebutkan di atas, build.gradlemendapat entri untuk yang baru ditambahkan botol itu sendiri.

parasrish
sumber
3

Di Android Studio 2.1 saya ikuti cara ini,

Aplikasi Goto -> src-> main -> folder aset (Jika tidak tersedia, buatlah) -> masukkan file JAR Anda

masukkan deskripsi gambar di sini

Di build.gradle Anda tambahkan dependensi seperti ini,

implementation files('src/main/assets/jsoup.jar')
implementation files('src/main/assets/org-apache-xmlrpc.jar')
implementation files('src/main/assets/org.apache.commons.httpclient.jar')
implementation files('src/main/assets/ws-commons-util-1.0.2.jar')

Sinkronkan sekarang. Sekarang file JAR Anda siap digunakan.

Ranjith Kumar
sumber
Mengapa Anda tidak menggunakan direktori libs?
Deni Erdyneev
@ErdeniErdyneev Saya memberikan pendekatan lain untuk menyimpan file jar. mengapa saya tidak menggunakan aset? ada masalah dalam pendekatan saya? Saya siap untuk memperbaiki kesalahan jika saya salah
Ranjith Kumar
3

Untuk Android 1.0.2 yang lebih baru, berikut sudah ada di file build.gradle Anda

implementation fileTree(include: ['*.jar'], dir: 'libs')

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

implementation files('libs/android-query.jar')

Itu berhasil untuk saya. tidak diperlukan lagi. Saya telah menunjukkan ini untuk android aquery perpustakaan pihak ketiga yang lain untuk android.

pengguna2779311
sumber
2

Jawaban saya pada dasarnya mengumpulkan beberapa jawaban yang benar tetapi tidak lengkap yang diberikan di atas.

  1. Buka build.gradle
  2. Tambahkan yang berikut ini:

    dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3'
    }

    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

diegosasw
sumber