Android Studio: Thêm jar làm thư viện?


1026

Tôi đang cố gắng sử dụng Android Studio mới nhưng dường như tôi không thể làm cho nó hoạt động chính xác.

Tôi đang sử dụng thư viện Gson để tuần tự hóa / giải tuần tự hóa các đối tượng JSON. Nhưng thư viện bằng cách nào đó không được bao gồm trong bản dựng.

Tôi đã tạo một dự án mới chỉ với MainActivity . Đã sao chép gson-2.2.3.jar trong thư mục / libs và thêm nó dưới dạng phụ thuộc thư viện (nhấp chuột phải-> Thêm dưới dạng thư viện). Điều này bao gồm jar trong android studio để nó có thể được tham chiếu từ các tệp nguồn.

Khi tôi cố chạy dự án, nó không thể biên dịch được nên tôi đã thêm:

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

đến các phụ thuộc trong tập tin de .gradle. Sau đó, nó biên dịch chính xác nhưng khi chạy ứng dụng tôi nhận được a ClassDefNotFoundException.

Có ai biết tôi đang làm gì sai không?



1
Mặc dù điều này không giải quyết được vấn đề, nhưng chỉ muốn "biên dịch" bị phản đối vì "thực hiện".
Amir Rezazadeh

Câu trả lời:


1534

Tôi đã vật lộn với điều tương tự trong nhiều giờ, cố gắng để chiếc bình Gson hoạt động không hơn không kém. Cuối cùng tôi đã bẻ khóa nó - đây là các bước tôi đã thực hiện:

  1. Đặt bình Gson (trong trường hợp của tôi, gson-2.2.4.jar ) vào libsthư mục
  2. Nhấp chuột phải vào nó và nhấn 'Thêm làm thư viện'
  3. Đảm bảo rằng compile files('libs/gson-2.2.4.jar')trong của bạnbuild.gradle tệp (hoặc compile fileTree(dir: 'libs', include: '*.jar')nếu bạn đang sử dụng nhiều tệp jar)

    Chỉnh sửa: Sử dụng implementation files('libs/gson-2.2.4.jar')(hoặcimplementation fileTree(dir: 'libs', include: '*.jar') ) trong Android Studio 3.0+

  4. Thực hiện một bản dựng sạch (có thể bạn có thể làm tốt điều này trong Android Studio, nhưng để đảm bảo tôi đã điều hướng trong một thiết bị đầu cuối đến thư mục gốc của ứng dụng của mình và nhập gradlew clean . Tôi trên Mac OS X, lệnh có thể khác trên hệ thống của bạn

Sau khi tôi làm bốn điều trên, nó bắt đầu hoạt động tốt. Tôi nghĩ rằng bước 'Thêm dưới dạng thư viện' là bước tôi đã bỏ lỡ trước đây và nó không hoạt động cho đến khi tôi làm sạch nó.

[Chỉnh sửa - thêm build.gradlebước cũng cần thiết như những người khác đã chỉ ra]


6
gradlew sạch sẽ giúp tôi quá. Cảm ơn rất nhiều!
František iačik

171
Nếu bạn không muốn phải thêm một dòng rõ ràng cho mỗi tệp jar: compile fileTree(dir: 'libs', include: '*.jar')
J c

65
Tôi khuyên bạn nên tận dụng quản lý phụ thuộc nhất thời của lớp và tải xuống gson từ mavenCentral () (nếu yêu cầu kết nối internet là chấp nhận được. Chỉ cần thêm repositories { mavenCentral() }và thay thế compile files(...)dòng của bạn compile 'com.google.code.gson:gson:2.2.4'và gradle sẽ tự động tải xuống và quản lý tệp jar cho bạn. Điều này cho phép SCM chỉ theo dõi các tệp mã nguồn chứ không phải thư viện.
Joe

38
Tôi không nhận được tùy chọn Thêm dưới dạng Thư viện trong bước 2.
Yster

6
Trong Android Studio 1.0.2, không cần bước 2 và 3 vì dòng này đã có trong mặc định build.gradle: compile fileTree (dir: 'libs', bao gồm: ['* .jar'])
Brian Marick 16/1/2015

268

Dưới đây là hướng dẫn để thêm tệp jar cục bộ làm thư viện vào mô-đun:

  1. Tạo thư mục 'libs' ở cấp cao nhất của thư mục mô-đun (cùng thư mục chứa thư mục 'src')

  2. Trong phần build.gradle filethêm vào sau đây để đóng phụ thuộc của bạn có:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
  3. Android Studio nên đã thiết lập trình bao bọc gradlew. Từ dòng lệnh, điều hướng đến cấp cao nhất của dự án của bạn (thư mục có gradlewtệp).

    Chạy đi ./gradlew assemble. Điều này sẽ biên dịch dự án với thư viện. Bạn có thể cần sửa lỗi trong tệp build.gradle của mình nếu cần.

  4. Để Android Studio nhận ra các tệp jar cục bộ là thư viện hỗ trợ trong khi mã hóa trong IDE, bạn cần thực hiện thêm một số bước:

    4.1. Nhấp chuột phải vào mô-đun trong bảng điều khiển bên trái và chọn Open Library Settings.

    4.2. Trên bảng điều khiển bên trái của hộp thoại, chọn Libraries.

    4.3. Nhấp vào +dấu hiệu phía trên bảng thứ hai từ bên trái ->Java

    Thực đơn

    4.4. Chọn jar địa phương của bạn và thêm nó vào dự án.

  5. Bạn có thể cần chạy ./gradlewlệnh trên một lần nữa


Điều này làm việc cho tôi. Tôi có Android Studio phiên bản 1.2 Build 141.1890965, trên Ubuntu. Tại sao bạn nói "như của Android Studio 2.5"? Đây có phải là một phiên bản khác nhau trên Windows / Mac không? (1a) Tìm kiếm điều này thật khó. Hộp tổ hợp nằm ở trên cùng bên trái của khu vực cấu trúc dự án. Cần chọn "Dự án" trái ngược với "Android" và mở rộng "ứng dụng". (1b) Không có tùy chọn "thêm" nào được đưa ra, nhưng "Dán" đã hoạt động. (2) Tôi đã có một dòng "biên dịch fileTree (dir: 'libs', bao gồm: ['* .jar'])", nhưng vẫn phải thêm một dòng rõ ràng của bạn. (4, 5) không cần thiết một lần (3) được thực hiện thành công. Cảm ơn!
Phil Freihofner

"Bảng điều khiển bên trái"? Bạn có nghĩa là bảng dự án? Có thể ở bất cứ đâu ... Với Android Studio 2.3.3 Tôi không thể tìm thấy Cài đặt thư viện nhưng việc thêm bình vào Phụ thuộc trong Cài đặt mô-đun có vẻ giống nhau ...
Ngày

đối với mac, nếu bạn chưa phân loại: $ brew install gradle nếu bạn nhận được "./gradlew: Quyền bị từ chối", bạn cần chạy $ chmod 755 gradlew Sau đó, bạn có thể chạy $ ./gradlew lắp ráp
Azkario Rizky

110

Trong dự án nhấp chuột phải

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

Thực hiện theo các ảnh chụp màn hình dưới đây:

1:

Bước 1

2:

nhập mô tả hình ảnh ở đây

3:

nhập mô tả hình ảnh ở đây

Bạn sẽ thấy điều này:

nhập mô tả hình ảnh ở đây


@CamConnor tôi cũng nghĩ vậy .. Các câu trả lời khác đã lỗi thời
Ganesh Pandey

Đây là câu trả lời
Alessandro

4
Nhưng nó không được công nhận là libraray. Ví dụ: trình chỉnh sửa studio andriod: cố gắng nhập gói trong tệp đã nhập, không được nhận dạng.
Dave

Không thể tìm cách xóa mô-đun đã nhập theo cách này.
Dave

Tại sao tôi nên sử dụng phương pháp thêm jar ngoài này mà không phải là các câu trả lời khác của phương thức thư mục "copy-jar-to-libs"?
Eido95

48

Trong Android Stuido, tôi thích sử dụng Gradle để quản lý Gson lib.

Thêm phụ thuộc bên dưới trong tệp build.gradle của bạn.

repositories {mavenCentral()}

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

Tất cả mọi thứ đều ổn.

Bạn cũng có thể xem bài này. Cách tốt nhất để tích hợp thư viện bên thứ ba trong studio Android


Phương pháp này là tốt nhất vì nó sử dụng maven.
Gary Drocella

1
Chỉ cần nhớ cập nhật số phiên bản mới nhất :) Hiện tại là 2.3.1, nhưng hãy kiểm tra liên kết
Kitalda

47

IIRC, chỉ cần sử dụng "Thêm làm thư viện" là không đủ để nó biên dịch với dự án.

Kiểm tra trợ giúp của Intellij về việc thêm thư viện vào dự án

Phần mà bạn quan tâm nhất là đây:

(Trong File > Project Structure) Mở cài đặt mô-đun và chọn tab Phụ thuộc.

Trên tab Phụ thuộc, bấm thêm và chọn Thư viện.

Trong hộp thoại Chọn Thư viện, chọn một hoặc nhiều thư viện và bấm Thêm Đã chọn.

Nếu thư viện không hiển thị trong hộp thoại, hãy thêm nó vào cài đặt Thư viện, ngay bên dưới Mô-đun.

Bạn không cần phải thêm compile files()nữa và thư viện nên được thêm đúng vào dự án của bạn.


Thêm như thư viện đã thêm jar theo cùng một cách. Vì vậy, tôi nghĩ rằng kết quả là như nhau. Tôi sẽ thử nó sau.
Ozzie

Thêm vào như thư viện thực hiện điều này thành công - Tôi ở cùng thuyền với bạn Ozzie - CHÍNH XÁC cùng một vấn đề.
Jonah H.

Được rồi, tôi nghĩ Add as library chỉ thêm nó vào danh sách thư viện và không thêm nó vào phụ thuộc mô-đun.
Jukurrpa

Khi tôi thử điều này, tôi thấy nó đã thêm các dòng compile () vào tệp build.gradle của mình, nhưng dường như nó sử dụng các đường dẫn tuyệt đối đến các thư viện (/libs/foo.jar). Tôi thay đổi các đường dẫn này thành các đường dẫn tương đối (libs / foo.jar), đã khắc phục sự cố cho tôi.
Matt Holgate

40

Tất cả những giải pháp này đã lỗi thời. Bây giờ thực sự dễ dàng trong Android Studio:

Tệp> Mô-đun mới ...

Màn hình tiếp theo trông lạ, giống như bạn đang chọn một số tiện ích hoặc thứ gì đó nhưng giữ nó trên hình đầu tiên và bên dưới cuộn và tìm "Nhập JAR hoặc .AAR Gói"

Sau đó lấy Project Structuretừ menu Tệp. Chọn apptừ cửa sổ đã mở rồi chọn dependencies, sau đó nhấn green plus button, chọn module dependencyrồi chọn mô-đun bạn đã nhập rồi nhấnOK


Tôi nghĩ rằng sử dụng maven vẫn sẽ là giải pháp tốt hơn đặc biệt là cho các dự án quy mô lớn, được cung cấp bởi saneryee.
Gary Drocella

2
Ngay cả điều này dường như đã lỗi thời. Chỉ cần đặt tệp .jar của bạn vào thư mục "libs" và nó sẽ tự động được biên dịch cho dự án của bạn. Đã có một thiết lập quy tắc mặc định trong Android Studio 1.4 để bao gồm tất cả các tệp * .jar từ thư mục "libs".
Daniele Testa

35

Các bước dễ dàng để thêm thư viện bên ngoài trong Android Studio

  1. Nếu bạn đang ở Chế độ xem Android trong trình thám hiểm dự án, hãy đổi nó thành Chế độ xem dự án như bên dưới

nhập mô tả hình ảnh ở đây

  1. Nhấp chuột phải vào mô-đun mong muốn nơi bạn muốn thêm thư viện bên ngoài, sau đó chọn Mới> Directroy và đặt tên là ' libs '
  2. Bây giờ sao chép blah_blah.jar vào ' libs thư mục ' '
  3. Nhấp chuột phải vào blah_blah.jar, sau đó chọn ' Thêm làm Thư viện .. '. Điều này sẽ tự động thêm và nhập vào build.gradle dưới dạng các tệp biên dịch ('libs / blah_blah.jar') và đồng bộ hóa lớp. Và bạn đã hoàn thành

Xin lưu ý: Nếu bạn đang sử dụng thư viện của bên thứ 3 thì tốt hơn là sử dụng phụ thuộc trong đó tập lệnh Gradle tự động tải xuống JAR và JAR phụ thuộc khi tập lệnh gradle chạy.

Ví dụ: biên dịch 'com.google.android.gms: play-services-ads: 9.4.0'

Tìm hiểu thêm về Quản lý phụ thuộc Gradle


34

'biên dịch tệp ...' được sử dụng để làm việc cho tôi, nhưng không còn nữa. Sau nhiều đau đớn, tôi thấy rằng sử dụng cái này thay vì hoạt động:

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

Tôi không biết tại sao điều đó lại tạo ra sự khác biệt, nhưng, ít nhất thì thứ chết tiệt đó đang hoạt động.


1
Điều này đối với tôi tuy nhiên gần đây được tìm thấy đôi khi AS không nhận các lọ mới / cập nhật cho đến khi bạn thực hiện đồng bộ hóa lớp.
scottyab

Chỉ cần nhớ rằng, "biên dịch" đã không được dùng để "thực hiện".
Amir Rezazadeh

17
  1. Tải xuống tập tin Thư viện từ trang web
  2. Sao chép từ windows khám phá
  3. Dán vào thư mục lib từ Project Explorer
  4. Ctrl+ Alt+ Shift+ SCấu trúc dự án mở
  5. Chọn Tab phụ thuộc, thêm tệp bằng cách sử dụng +
  6. Thanh công cụ Dự án đồng bộ hóa với tập tin lớp bằng cách sử dụng nút

Điều đó đã giải quyết vấn đề của tôi. Hãy thử, nếu ai muốn biết thêm chi tiết cho tôi biết.


17

Tôi đã làm cho nó hoạt động bằng cách chỉ cần thêm một dòng vào 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
}

Đừng quên nhấp Sync now góc trên bên phải.

Tôi đang sử dụng Android Studio 1.0.1.


bạn sẽ giải thích những gì fileTreedòng này không?
Thufir

13

Tôi thấy Trình quản lý phụ thuộc của Android Studio khá tiện dụng và mạnh mẽ để quản lý các phụ thuộc của bên thứ 3 (như gson được đề cập ở đây). Cung cấp hướng dẫn từng bước phù hợp với tôi (LƯU Ý: Các bước này được thử nghiệm cho Android Studio 1.6 và các phiên bản trở đi trên nền tảng Windows).

Bước 1: Goto "Xây dựng> Chỉnh sửa thư viện và phụ thuộc ..." nó sẽ mở ra hộp thoại "Cấu trúc dự án"

nhập mô tả hình ảnh ở đây

Bước 2: Chọn "ứng dụng" và sau đó chọn tab "Phụ thuộc". Sau đó chọn "Thêm> 1 thư viện phụ thuộc"

nhập mô tả hình ảnh ở đây

Bước 3: Hộp thoại "Chọn phụ thuộc thư viện" sẽ được hiển thị, chỉ định "gson" trong tìm kiếm và nhấn "nút tìm kiếm"

nhập mô tả hình ảnh ở đây

Bước 4: Sự phụ thuộc mong muốn sẽ được hiển thị trong danh sách tìm kiếm, chọn com.google.code.gson: gson: 2.7 (đây là phiên bản mới nhất tại thời điểm tôi viết câu trả lời), nhấn OK

nhập mô tả hình ảnh ở đây

Nhấn OK trên hộp thoại "Cấu trúc dự án". Gradle sẽ cập nhật các kịch bản xây dựng của bạn cho phù hợp.

nhập mô tả hình ảnh ở đây

Hy vọng điều này sẽ giúp :)


Tôi đã tìm thấy một số vấn đề với cách tiếp cận này, đã làm việc trên ứng dụng sử dụng commons-io-2.5. Khi tải ứng dụng lên Google Developer Console, nó hiển thị 0 thiết bị được hỗ trợ cho apk đã ký. Sau khi điều tra kỹ lưỡng, tôi phát hiện ra rằng tôi phải đặt tệp jar dưới app / libs / commons-io-2.5.jar và cập nhật các phụ thuộc trong gralde như 'tệp biên dịch này (' libs / commons-io-2.5.jar ') ', không chắc chắn những gì tôi đã làm sai ở đây và tại sao tài liệu không bao gồm điều này.
AB

Đây là cách nó hoạt động. Tất cả các câu trả lời khác không hoạt động. Android Studio 2.3.3
imsrgadich

11

1. Đặt bình (trong trường hợp của tôi,gson-2.2.4.jar ) vào thư mục libs.

2. Đảm bảo rằng tệp biên dịch ( libs/gson-2.2.4.jar) có trong tệp build.gradle của bạn.

3. Bây giờ, nhấp vào "Dự án đồng bộ hóa với các tệp Gradle" (Nút trái sang trình quản lý AVD trên thanh trên cùng).

Sau khi tôi làm ba điều trên, nó bắt đầu hoạt động tốt.


9

Tải xuống & Sao chép .jartệp của bạn trong libsthư mục sau đó thêm các dòng này vào build.gradle:

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

Đừng quên nhấp vào "Đồng bộ hóa ngay bây giờ"


9

Bạn có thể làm điều này với hai tùy chọn.

cách đơn giản đầu tiên.

Sao chép tệp .jar vào clipboard sau đó thêm nó vào thư mục libs. Để xem thư mục libs trong dự án, chọn dự án từ combobox phía trên các thư mục.

sau đó nhấp chuột phải vào tệp .jar và nhấp vào thêm dưới dạng thư viện sau đó chọn mô-đun rồi ok. Bạn có thể thấy tệp .jar trong tệp build.gradle trong khối phụ thuộc.

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

Cách thứ hai là: Chúng ta có thể thêm tệp .jar vào mô-đun bằng cách nhập tệp .jar này dưới dạng mô-đun .jar sau đó thêm mô-đun này vào bất kỳ mô-đun nào chúng ta muốn.

mô-đun nhập ---> chọn tệp .jar của bạn -> hơn nhập dưới dạng .jar - nhập mô tả hình ảnh ở đây

Sau đó, CTRL + ALT + SHIFT + S -> bảo đảm dự án -> chọn mô-đun bạn muốn ato thêm một bình -> Dependencendies -> Phụ thuộc mô-đun. build.gradle của mô-đun sẽ được cập nhật tự động. nhập mô tả hình ảnh ở đây


Đẹp. một chỉnh sửa - Bây giờ là "Mô-đun mới" (Android Studio 1.0.1). "Mô-đun nhập" gửi bạn đến một trình hướng dẫn khác ..
Aviv Ben Shabat

7

Tôi đã thực hiện trên 3 bước và sự quyến rũ công việc của nó đối với tôi.

(Tôi đang sử dụng Android Studio 2.1.2)

nhập mô tả hình ảnh ở đây

Bước 1

  • Thêm tên gói jar của bạn (làm ví dụcompile 'com.squareup.okhttp3:okhttp:3.3.1' ) vào tập lệnh xây dựng lớp dưới build.gradle (Mô-đun: ứng dụng) .

nhập mô tả hình ảnh ở đây

Bước 2: Nhấp chuột phải vào thư mục ứng dụng -> Mới -> Mô-đun

nhập mô tả hình ảnh ở đây

Bước 3: Nhấp vào Nhập JAR / .AAR Gói Sau đó duyệt gói của bạn. làm ví dụ: OkHttp.jar

nhập mô tả hình ảnh ở đây


7

Với Android Studio 3+:

Bạn chỉ cần có thể sao chép tệp jar vào thư mục libs ngay dưới thư mục ứng dụng.

... myproject \ app \ libs \ myfile.jar

Sau đó chọn Tệp dự án từ trình đơn thả xuống trên cửa sổ Dự án, nhấp chuột phải vào dự án, chọn Đồng bộ hóa để xem tệp trong Tệp dự án. Nó sẽ tự động thêm các phụ thuộc trong tệp gradle (Module: ứng dụng).

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

Đây là một giải pháp khác:

Đi đến khung nhìn Tệp dự án (chọn Tệp dự án từ danh sách thả xuống).

nhập mô tả hình ảnh ở đây

Chọn Mới ... Thư mục, tạo thư mục có tên libs ngay dưới ứng dụng.

nhập mô tả hình ảnh ở đây

Mở File Explorer, sao chép và dán tệp jar của bạn vào thư mục libs.

Trong Android Studio, nhấp chuột phải vào tệp jar và chọn Thêm làm Thư viện ... từ menu bật lên.

nhập mô tả hình ảnh ở đây

Bạn sẽ thấy tệp được liệt kê trong danh sách phụ thuộc trong tệp lớp:

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

Mở tệp java của bạn và thêm câu lệnh nhập vào đó:

import com.xxx.xxx;

7

Đặt các .jartệp trong libsthư mục của dự án Android.

Sau đó thêm dòng mã này vào tệp lớp của ứng dụng:

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

Đối với plugin Android gradle 3.0 trở lên, tốt hơn là sử dụng thay thế này:

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

7

Không giống như Eclipse, chúng ta không cần tải về jar và đặt nó vào thư mục / libs. Gradle xử lý những điều này chúng ta chỉ cần thêm phụ thuộc Gradle, Gradle tải xuống và đặt vào bộ đệm cache.

Chúng ta cần thêm các phụ thuộc như:

phụ thuộc {triển khai 'com.google.code.gson: gson: 2.2.4'}

Tuy nhiên, chúng tôi cũng có thể tải xuống jar và thêm vào đó là thư viện nhưng cách tốt nhất là thêm phụ thuộc Gradle.


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

5

Bước 1: Bây giờ, bên dưới app folderbạn sẽ thấy libs, nếu bạn không nhìn thấy nó, thì hãy tạo nó .

Bước 2 : Drag & Drop the .jar file here, bạn có thể nhận được lời nhắc "This file does not belong to the project", chỉ cần nhấp vào OKNút.

Bước 3: Bây giờ bạn sẽ thấy tệp jar trong thư mục libs , nhấp chuột phải vào tệp jar và chọn"Add as library", Click OK for prompt "Create Library"

Bước 4: Bây giờ bình này đã được thêm vào.

nhập mô tả hình ảnh ở đây


4

Tạo một thư mục libs. Thêm tập tin .jar của bạn. Nhấp chuột phải vào nó và bạn sẽ tìm thấy thêm jar như phụ thuộc. Nhấn vào nó. Đó là tất cả những gì bạn cần làm. Bạn có thể tìm thấy các phụ thuộc được thêm vào tệp build.gradle của bạn.


4

1) tạo thư mục 'your_libs' bên trong thư mục Project / app / src.

2) Sao chép tệp jar của bạn vào thư mục 'your_libs' này

3) Trong Android Studio, đi tới Tệp -> Cấu trúc dự án -> Phụ thuộc -> Thêm -> Phụ thuộc tệp và điều hướng đến tệp jar của bạn, phải nằm dưới 'src / your_libs'

3) Chọn tệp jar của bạn và nhấp vào 'Ok'

và sau đó bạn có thể thấy trên build.gradle của mình như thế này: biên dịch tệp ('src / your_libs / your.jar')


4

Trong Android Studio 1.1.0. Tôi đã giải quyết câu hỏi này bằng các bước sau:

1: Đặt tệp jar vào thư mục libs. (trong Trình tìm kiếm)

2: Mở cài đặt mô-đun, đi đến Phụ thuộc, ở góc dưới bên trái có nút cộng. Nhấp vào nút cộng sau đó chọn "Phụ thuộc tệp". Ở đây bạn có thể thấy tệp jar của mình. Chọn nó và nó được giải quyết.


4

Tôi đã đọc tất cả các câu trả lời ở đây và tất cả chúng dường như bao gồm các phiên bản cũ của Android Studio!

Với một dự án được tạo bằng Android Studio 2.2.3, tôi chỉ cần tạo một libsthư mục bên dưới appvà đặt bình của tôi ở đó. Tôi đã làm điều đó với trình quản lý tệp của mình, không cần phải nhấp hoặc chỉnh sửa bất cứ điều gì trong Android Studio.

Tại sao nó hoạt động? Mở Thư viện Xây dựng / Chỉnh sửa và Phụ thuộc và bạn sẽ thấy:

{include=[*.jar], dir=libs}

3

Trên Mac OS X:

  1. Thêm jar dưới dạng thư viện (kéo jar vào libs, nhấp chuột phải vào dưới dạng lib)

  2. Thêm câu lệnh biên dịch vào build.grade

  3. Cài đặt gradle v1.6(sử dụng homebrew)

    • bia cài đặt gradle
    • lớp -v
    • nếu không phải là v1.6, hãy nâng cấp homebrew
  4. gradle sạch (xây dựng lại Android không hoạt động)

Điều này sắp xếp tôi ra.


3

Giống như nhiều người trước đây chỉ ra bạn sẽ thêm

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

vào tập tin build.gradle của bạn.

Tuy nhiên, tôi có một dự án trong Android Studio đã được di chuyển từ Eclipse và trong trường hợp này, thư mục "libs" được đặt tên là "lib" vì vậy tôi đã gỡ bỏ "s" để giải quyết vấn đề.


3
  1. Đã thêm libsthư mục ở cấp độapp .
  2. Đã thêm tất cả jarstrong dự án này.
  3. Tiếp theo, chọn tất cả các lọ, trong libsthư mục,
  4. nhấp chuột phải vào các mục đã chọn và nói add library
  5. sau đó bạn sẽ tìm thấy tùy chọn mở rộng bình, trong chính trình thám hiểm dự án.

Tôi đã quan sát CTRL+ ALT+ SHIFT+ S-> cấu trúc dự án -> mô-đun ứng dụng -> Phụ thuộc " ban đầu đã có một mục như (dir: 'libs', include: '*.jar')bên dưới compile-option. Và sau khi thêm các jar theo các bước đã nêu ở trên, build.gradlecác mục đã được thêm vào mới chính nó.


3

Trong Android Studio 2.1 tôi làm theo cách này,

Ứng dụng Goto -> src-> chính -> thư mục tài sản (Nếu không có sẵn hãy tạo nó) -> đặt các tệp JAR của bạn

nhập mô tả hình ảnh ở đây

Trong build.gradle của bạn thêm phụ thuộc như thế này,

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

Đồng bộ hóa ngay bây giờ. Bây giờ các tệp JAR của bạn đã sẵn sàng để sử dụng.


Tại sao bạn không sử dụng thư mục libs?
Deni Erdyneev

@ErdeniErdyneev Tôi đưa ra một cách tiếp cận khác để lưu trữ các tệp jar. Tại sao tôi không sử dụng tài sản? bất kỳ vấn đề trong cách tiếp cận của tôi? Tôi sẵn sàng sửa chữa sai lầm nếu tôi sai
Ranjith Kumar

3

Đối với Android 1.0.2 mới hơn, phần sau đây đã có trong tệp build.gradle của bạn

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

Thêm jar thư viện vào thư mục libs của bạn -> nhấp chuột phải vào thư viện -> nhấp vào thêm dưới dạng thư viện -> nó yêu cầu bạn cho dự án để thêm nó vào -> chọn dự án của bạn-> nhấp vào ok Dòng sau được tự động thêm vào để xây dựng . Nâng cấp

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

Điều đó đã làm nó cho tôi. không có gì hơn được yêu cầu. tôi đã chỉ ra điều này cho android aquery một thư viện bên thứ ba khác cho Android.


2

Câu trả lời của tôi về cơ bản là thu thập một số câu trả lời đúng nhưng không đầy đủ được cung cấp ở trên.

  1. Mở build.gradle
  2. Thêm những điều sau:

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

    Điều này sẽ cho phép hỗ trợ cho hai cách khác nhau để thêm phụ thuộc. Các compile fileTree(dir: 'libs', include: ['*.jar'])(như @Binod đề cập) cho trình biên dịch để nhìn dưới libs thư mục cho BẤT CỨ jar. Đó là một cách thực hành tốt để tạo một thư mục 'libs' như vậy sẽ chứa các gói jar mà ứng dụng của chúng tôi cần sử dụng.

Nhưng điều này cũng sẽ cho phép hỗ trợ cho sự phụ thuộc của Maven. Biên dịch'com.google.code.gson:gson:2.3' (như được đề cập bởi @saneryee), đó là một cách được đề xuất khác để thêm các phụ thuộc nằm trong kho lưu trữ từ xa trung tâm chứ không phải trong "kho lưu trữ cục bộ" của chúng tôi. Về cơ bản, nó đang nói với lớp tìm kiếm phiên bản của gói đó và nó yêu cầu trình biên dịch xem xét nó khi biên dịch dự án (có nó trong đường dẫn lớp)

PS: Tôi sử dụng cả hai

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.