Làm thế nào để thêm một jar trong Thư viện bên ngoài trong studio android


185

Tôi mới dùng Android Studio. Những gì tôi cần làm là thêm một vài tệp jar trong External Librariesthư mục <JDK> bên dưới.

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

Nếu bất cứ ai có kiến ​​thức về cách làm điều này, xin vui lòng giúp tôi.


Vui lòng kiểm tra liên kết này: stackoverflow.com/questions/16588064/ từ
Sayem

Câu trả lời:


320

Một câu trả lời muộn, mặc dù tôi nghĩ sẽ đưa ra một câu trả lời sâu sắc cho câu hỏi này. Phương pháp này phù hợp với Android Studio 1.0.0 trở lên.


BƯỚC


  1. Đầu tiên chuyển cấu trúc thư mục của bạn từ Android sang Project .

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

  1. Bây giờ tìm kiếm thư mục libs bên trong ứng dụng - xây dựng thư mục.

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

  1. Khi bạn đã dán tệp .jar trong thư mục libs. Nhấp chuột phải vào tệp jar và cuối cùng nhấp vào Thêm dưới dạng thư viện . Điều này sẽ đảm nhiệm việc thêm các tệp biên dịch ('libs / library_name.jar') trong build.gradle [Bạn không phải nhập thủ công tệp này vào tệp xây dựng của mình].

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

Bây giờ bạn có thể bắt đầu sử dụng thư viện trong dự án của bạn.


3
Tôi không nhận được tùy chọn Thêm dưới dạng Thư viện ở bước 3 trong Android Studio 3.0.1
Shylendra Madda

3
Có, tôi thấy rằng bây giờ, nếu nó đã được thêm thì tùy chọn đó sẽ không hiển thị.
Shylendra Madda

Hoàn toàn khắc phục sự cố của tôi
TRỰC TIẾP DAVE

138

Thêm tập tin jar của bạn vào thư mục app/libs. 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".

Nếu không có libsthư mục bạn có thể tạo nó. Nhấp vào hộp tổ hợp có nội dung "Android" và thay đổi thành "Dự án"

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

Từ đây, bạn có thể nhấp chuột phải vào "ứng dụng" trong cây thư mục và đi đến "Mới" => "Thư mục"


36
Nếu bạn không thể tìm thấy thư mục lib, chỉ cần nhấp vào hộp tổ hợp có chữ "android" và chọn "Project". (nút đó nằm trên đỉnh của trình thám hiểm dự án)
Gayan Weerakutti

2
Sau đó, bạn có thể mở rộng Dự án của mình để tìm thư mục "libs" hoặc nhấp chuột phải vào dự án của bạn và tạo một thư mục mới. Sau đó, bạn có thể di chuyển tệp JAR cho thư viện của mình vào thư mục đó bằng trình quản lý tệp OS. (Cảm ơn, @reversiblean đã giúp tôi bắt đầu!)
Richard

+1 cho nhận xét của @ Reverseiblean - chế độ xem mặc định là "Tệp dự án" không phải là "Dự án" và chế độ xem đó không hiển thị thư mục "ứng dụng / libs", nhưng sẽ không cho phép bạn tạo nó.
Jules

4
Tôi không nhận được tùy chọn Thêm dưới dạng Thư viện trong Android Studio 3.0.1
Shylendra Madda

1
@Thinsky Vâng, tôi thấy rằng bây giờ, nếu nó đã được thêm thì tùy chọn đó sẽ không hiển thị.
Shylendra Madda

63

Đặt JAR của bạn trong ứng dụng / libs và trong ứng dụng / build.gradle thêm vào dependenciesphần:

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


Tôi có thể chọn đường dẫn khác / Đường dẫn của riêng tôi như "value \ my_folder \ myjar.jar" ??? bởi vì tôi đang làm việc về mã nguồn của studio android.
Sanket Bohhu

Bạn chỉ cần thay đổi giá trị của 'dir' (vì vậy thay thế 'libs' bằng bất cứ thứ gì bạn cần).
Gaëtan

1
biên dịch bị phản đối
Deepak Samuel Rajan

1
vâng, Deepak là chính xác - 'biên dịch' không được chấp nhận ... vì vậy chỉ cần thay thế nó bằng 'triển khai' và nó sẽ hoạt động tốt.
Đánh dấu

40

Tạo thư mục "libs" trong thư mục ứng dụng sao chép tệp jar của bạn trong thư mục libs nhấp chuột phải vào tệp jar của bạn trong Android Studio và Thêm thư viện ... Sau đó mở build.gradle và thêm tệp này:

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

1
Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
Michael

20

Bước 1: Tải xuống bất kỳ tệp JAR nào cho Dự án của bạn.nhập mô tả hình ảnh ở đây

Bước 2: Sao chép tập tin .jar và quá khứ trong thư mục libs.

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

Bước 3: Nhấp vào Tệp> Cấu trúc dự án> Chọn ứng dụng> Phụ thuộc

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

Bước 4:

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

Bước 5:

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

Bước 6: Sau khi nhấp vào nút Ok, chúng ta có thể thấy phần Phụ thuộc như thế này:

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


13

Ví dụ với bình Parse ...

Thêm lọ vào thư mục libs từ Project view xem thư mục lib tạo nếu không tồn tại

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

Sao chép tất cả các lọ ở đó ...

Thêm lib vào lớp .... trong tệp build.gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:percent:23.0.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar’)
}

Để thêm tất cả các lọ của thư mục lib ... thay đổi Parse - *. Jar thành * .jar


11

Đây là cách bạn có thể thêm .jartệp trong Android Studio 2.1.3.

  1. Sao chép tệp .jar ảnh chụp màn hình tệp jar

  2. dán tệp vào thư mục Libs và sau đó nhấp chuột phải vào tệp .jar và nhấn Add as library nhập mô tả hình ảnh ở đây

  3. mở build.gradle nhập mô tả hình ảnh ở đây

  4. thêm dòng dưới phụ thuộc như hiển thị trong ảnh chụp màn hình nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây

  5. Bây giờ nhấn nút play và bạn đã hoàn tất việc thêm tệp .jar nhập mô tả hình ảnh ở đây


(Ít nhất là với AS 2.3) Bạn có thể bỏ qua Bước 3 & 4. AS tự động thêm JAR vào các phụ thuộc build.gradle của bạn.
Cánh Poon

2
bỏ qua các bước 3 và 4, sau đó mở Tệp-> Cấu trúc dự án-> ứng dụng-> phụ thuộc-> nhấp + -> phụ thuộc jar và chọn tệp jar. nó làm việc cho tôi
Jhohannes Purba

3

Cách tiếp cận dựa trên GUI sẽ là thêm một mô-đun bổ sung trong dự án của bạn.

  1. Từ menu Tệp, chọn Cấu trúc dự án và nhấp vào biểu tượng dấu cộng màu xanh ở trên cùng bên trái.
  2. Hộp thoại Module mới hiện ra
  3. Từ nhóm ứng dụng điện thoại và máy tính bảng, chọn tùy chọn "Nhập gói JAR hoặc AAR" và nhấp vào tiếp theo.
  4. Làm theo các bước để tạo một mô-đun mới chứa tệp JAR của bạn.
  5. Nhấp vào mục tương ứng với dự án chính của bạn và chọn tab phụ thuộc.
  6. Thêm một phụ thuộc vào mô-đun mà bạn đã tạo ở bước 4.

Một lời khuyên cuối cùng. Đảm bảo rằng tệp JAR mà bạn đưa vào được xây dựng với tối đa JDK 1.7 . Nhiều vấn đề liên quan đến thông báo lỗi "com.android.dx.cf.iface.PudeException: ma thuật tập tin lớp xấu (cafebabe) hoặc phiên bản (0034.0000)" bắt nguồn từ đây: 0.


Bạn có xác nhận cách tiếp cận này tốt hơn cách tiếp cận thư mục "copy-jar-to-libs" như các câu trả lời khác nói không?
Eido95

@ Eido95 Đây là cách tôi đã thực hiện vào năm 2015. Tôi nhớ đã cố gắng đưa phân tích cú pháp JSON vào một ứng dụng Android và đây là những gì thực sự hoạt động.
khung gầm

Theo ý kiến ​​của bạn, tôi nên sử dụng phương pháp nào để bổ sung JAR bên ngoài đơn giản?
Eido95

3

Một cách đơn giản để thêm tệp Jar Android Studio Các bước:

  1. Sao chép và dán tệp jar của bạn vào thư mục libs của dự án của bạn.
  2. Nhấp vào Tệp từ menu Tệp -> Cấu trúc dự án (CTRL + SHIFT + ALT + S trên Windows / Linux, ⌘ +; trên Mac OS X).
  3. Chọn Mô-đun ở bảng điều khiển bên trái -> tab Phụ thuộc.
  4. Thêm ... → Thư viện dự án → Đính kèm Jar.

3

Nếu bất cứ ai đang tìm kiếm một giải pháp khác mà không thực sự sao chép (các) tệp jar vào thư mục dự án, ví dụ như khi sử dụng tệp jar trong nhiều dự án:

Mở build.gradle và thêm

def myJarFolder = 'C:/Path/To/My/Jars'

[...]

dependencies {
    [...]
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
    [...]
}

Lưu ý rằng tất nhiên bạn không phải sử dụng biến myJarFolder , tôi thấy nó hữu ích. Đường dẫn cũng có thể là tương đối, ví dụ ../../Path/To/My/Jars .
Đã thử nghiệm với AndroidStudio 3.0

Cập nhật: Đối với Gradle Plugin> 3.0, hãy sử dụng triển khai thay vì biên dịch :

dependencies {
        [...]
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
        [...]
    }

Tôi có một vấn đề với điều này. Tôi đang làm cho nó một thư viện và ứng dụng phụ thuộc vào thư viện đang chạy vào NoClassDefFoundError. Tôi cũng đang nhận được rất nhiều lỗi xung quanh việc không thể tìm thấy lớp học cho việc hủy bỏ
lừa đảo

3

Trong Android Studio phiên bản 3.0 trở lên tôi đã sử dụng dưới đây như:

  1. Tạo lib vào thư mục ứng dụng nếu không tồn tại thư mục như
    • Đi dự án
    • Đi đến ứng dụng
    • nhấp vào ứng dụng-> Mới-> Thư mục
    • đặt tên thư mục libs
    • dán bình vào thư mục libs
    • hình ảnh sẽ như thế nào nhập mô tả hình ảnh ở đây

2.Trong build.gradle thêm các dòng dưới đây

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation files('libs/com.ibm.icu_3.4.4.1.jar')

1

Nếu bạn không thấy tùy chọn "Thêm dưới dạng thư viện", hãy đảm bảo bạn giải nén (giải nén) tệp của mình để bạn có mail.jarvà không mail.zip.

Sau đó nhấp chuột phải vào tệp của bạn và bạn có thể thấy tùy chọn "Thêm dưới dạng thư viện".


1

Vui lòng cung cấp vị trí tệp jar trong build.gradle

implementation fileTree(dir: '<DirName>', include: ['*.jar'])

Thí dụ:

implementation fileTree(dir: 'C:\Downloads', include: ['*.jar'])

Để thêm tệp jar đơn

implementation files('libs/foo.jar')

Lưu ý: biên dịch không được dùng trong lớp mới nhất, do đó sử dụng triển khai thay thế.


0

"Cách chính thức" để thêm một tệp jar vào dự án Android của bạn dưới dạng thư viện bên ngoài, là thêm tệp jar trong phần phụ thuộc {} trong build.gradle .

Nếu bạn đã thực hiện tất cả các điều trên và không có công việc nào ở trên, thì có hai khả năng khác:

  1. Nếu Android Studio hoặc một số IDE khác không đưa ra lỗi gạch chân màu đỏ trong trình soạn thảo nhưng lại bị lỗi trong Trình biên dịch Java, hãy KIỂM TRA JAR CỦA BẠN . Bình của bạn có thể không có Bản kê khai phù hợp do đó trình biên dịch không biết cái bình có thể cung cấp / không biết tên gói của nó là gì
  2. Có lẽ cấu trúc thư mục của nó bị rối tung. Cấu trúc thư mục không khớp với tên gói của nó. package a.b.c;phải phù hợp với thư mục a> thư mục b> thư mục c.
  3. Tên gói có một số xung đột. (Tin tôi đi, điều này đã xảy ra với tôi và phải mất hàng giờ để tìm ra nó.)

Tuy nhiên, nếu bạn đang đi với cordova , đây là một số mẹo để thêm các lọ bên ngoài.

" build-extend.gradle " là cách tốt hơn để quản lý tập tin lớp của bạn.

Dưới đây là các bước để quản lý các cài đặt bổ sung trong dự án Android dựa trên cordova:

  1. Thêm jar của bạn vào build-extend.gradle:
    //Other settings go here, e.g.: buildscript { ... }
    ext.postBuildExtras = {
    // you may have some other settings, e.g.: android { ... }
            dependencies {
                    compile files('libs/abc.jar')
            }
    }

(Các bước chi tiết hơn tại đây: Mở rộng tệp phân loại cordova để bao gồm các dịch vụ của google )

  1. Trong thiết bị đầu cuối, làm:

cordova build android

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.