Thêm thư viện bên ngoài trong Android studio


119

Tôi muốn thêm thư viện bên ngoài https://github.com/foursquare/foursquare-android-oauth vào ứng dụng Android của mình (Tôi sử dụng Android Studio, hướng dẫn do tác giả lib cung cấp cho Eclipse không hoạt động đối với Android Studio).

Tôi đã cố gắng làm điều đó với maven, vì vậy trong Tệp-> Cấu trúc dự án-> Phụ thuộc tôi đã thêm com.foursquare:foursquare-android-nativeoauth-lib:1.0.0nhưng Gradle Sync không thành công:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

Khi tôi cố gắng xây dựng ứng dụng của mình (mà không sửa lỗi ở trên vì tôi không biết làm thế nào) tôi nhận được:

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

Bất kỳ cách nào khác để nhập lib này? Tôi có thể chỉ cần sao chép-dán mã nguồn vào nguồn của mình hoặc tạo JAR từ nó?

BTW: nếu bạn gặp sự cố, hãy xem câu hỏi này (tôi gặp sự cố này sau khi nhập): Hợp nhất tệp kê khai không thành công: use-sdk: minSdkVersion 14


Câu trả lời:


96

Thử cái này:

File> Project Structure> Dependencies Tab> Add module dependency(scope = compile )

Nơi phụ thuộc mô-đun là thư mục Android thư viện dự án.


2
Tôi biết nó bằng kinh nghiệm và kiểm tra .... Nhưng có những tài liệu có sẵn: developer.android.com/sdk/installing/studio-build.html
malcubierre

26
Làm thế nào một người có thể làm điều này mà không cần sao chép? Thư viện được sử dụng bởi các dự án không phải Android và được cập nhật thường xuyên. Nếu nó sao chép nguồn, thì các thay đổi đối với bản gốc sẽ không được nhìn thấy. Đó không phải là loại ngu ngốc?
Brian Reinhold,

1
đâu là tùy chọn Cấu trúc dự án?
zulkarnain shah

2
Tìm thấy phụ thuộc mô-đun ass nhưng sau đó tôi nhận được hộp thoại "Chọn mô-đun \ nChọn mô-đun mà mô-đun hiện tại sẽ phụ thuộc vào: \ nKhông có gì để hiển thị \ n [Ok] [Hủy]". Không thể chọn thư viện đã tải xuống.
David162795,

1
Tôi đã thêm thư viện bên ngoài theo cách này và gặp lỗi "Không thể giải quyết sự phụ thuộc cho ': app @ buildTypeUnitTest / compileClasspath': Không thể giải quyết dự án: zip_file." Mã được tạo trong phụ thuộc là `thực hiện dự án (': zip_file') '. Ngoài ra, tôi đang sử dụng 'com.android.tools.build:gradle:3.2.0-rc03' và https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola

208

Hãy thử một trong các cách tiếp cận sau:

Cách tiếp cận 1)

1- Chọn chế độ xem dự án

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

2- Sao chép tệp JAR của bạn trong ứng dụng -> thư mục lib

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

3- Nhấp chuột phải vào tệp JAR của bạn và chọn thêm làm thư viện

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

4- Kiểm tra nó trong build.gradle

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


Cách tiếp cận 2)

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

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

2- Nhập gói .JAR / .AAR

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

3- Duyệt qua tệp JAR của bạn

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

4- Kết thúc

5- Tệp -> Cấu trúc dự án -> Phụ thuộc

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

6- Bạn nên nhấp vào nút + và sau đó nhấp vào Phụ thuộc mô-đun

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

7- Bạn sẽ thấy thư viện của mình ở đây

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

8- chọn thư viện của bạn và nhấp vào ok

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

9- Sau đó, bạn sẽ thấy rằng thư viện của bạn được thêm vào.

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


Đối với hai cách tiếp cận đầu tiên, bạn cần một tệp JAR. Bạn có thể tìm kiếm http://search.maven.org/ để tìm các tệp JAR có liên quan đến Android. Ví dụ: đây là kết quả tìm kiếm cho jdom trong liên kết này

Kết quả tìm kiếm cho jdom


Cách tiếp cận 3) Android đang sử dụng http://jcenter.bintray.com/ làm thư viện từ xa. Ví dụ: đây là kết quả tìm kiếm jdom trong liên kết.

jcenter jdom

Để thêm thư viện theo phương pháp này, hãy làm theo các bước sau:

1- Tệp -> Cấu trúc dự án -> Phụ thuộc

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

2- Nhấp vào nút + và chọn phụ thuộc thư viện

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

3- tìm thư viện của bạn và chọn nó, sau đó bấm OK.


Tôi hy vọng nó sẽ giúp.


13
Câu trả lời tốt nhất trong tất cả các stack overflow
mizerablebr

1
Tôi rất vui vì bạn thấy câu trả lời của tôi hữu ích. Tôi thực sự đánh giá cao phản hồi của bạn.
Mohammad

1
Approche 2 phù hợp với tôi. Cảm ơn vì những hình ảnh minh họa :)
Hichem Acher

1
Bạn được chào đón. Tôi rất vui vì bài viết này đã giúp bạn.
Mohammad

Cảm ơn bạn rất nhiều!!
Vinoth Vino

28

Để tham chiếu một dự án lib bên ngoài mà không cần sao chép, chỉ cần thực hiện như sau: - Chèn 2 dòng này trên setting.gradle:

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

Chèn dòng này vào phần phụ thuộc của build.gradletệp:

compile project(':your-lib-name')

Đồng bộ hóa dự án


1
Câu trả lời tuyệt vời, hãy tạo một liên kết đến thư viện ban đầu, để bạn không phải nhập lại bất cứ khi nào mã thư viện thay đổi!
diman

21

Có hai cách đơn giản nhất nếu một cách không hiệu quả, hãy thử cách còn lại.

  1. Thêm phần phụ thuộc của thư viện bên trong build.gradletệp phụ thuộc bên trong của thư viện bạn đang sử dụng và dán thư viện của bạn vào Thư viện bên ngoài.

HOẶC LÀ

  1. Chỉ cần vào libsthư mục bên trong thư mục của bạn appvà dán tất cả .jarcác tệp ví dụ Thư viện của bạn vào đó, Bây giờ mẹo ở đây là bây giờ hãy vào settings.gradletệp bên trong bây giờ thêm dòng này include ':app:libs'sau khi include ':app'nó chắc chắn sẽ hoạt động.

19

Bất kỳ cách nào khác để nhập lib này? Tôi có thể chỉ cần sao chép-dán mã nguồn vào nguồn của mình hoặc tạo JAR từ nó?

Hoàn thành các bước để nhập thư viện trong Android Studio 1.1

  1. Goto Tệp -> Nhập mô-đun.
  2. Thư mục nguồn -> Duyệt qua đường dẫn dự án.
  3. Chỉ định tên mô-đun
  4. Mở tệp build.gradle (Module: app)
  5. Thêm dòng sau với tên mô-đun của bạn

    biên dịch dự án (': internal_project_name')

Lấy từ: cách thêm thư viện trong Android Studio


8

Một câu trả lời muộn, mặc dù tôi đã nghĩ đến việc đưa ra câu trả lời chuyên sâu 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.

CÁC BƯỚC

  1. Đầu tiên hãy 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ờ hãy tìm kiếm thư mục libs bên trong thư mục app - build.

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

  1. Khi bạn đã dán tệp .jar bên 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 làm thư viện . Thao tác này sẽ giải quyết việc thêm 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 mình.


trong trường hợp của tôi khi sử dụng cách tiếp cận đầu tiên, tôi không thấy tùy chọn thêm dưới dạng thư viện trong danh sách..nhưng tùy chọn thứ hai phù hợp với tôi. Nhưng câu hỏi của tôi là lý do tại sao add như tùy chọn thư viện đã không được thể hiện trong trường hợp của tôi
Abdul Waheed

Rất hữu ích Cảm ơn bạn! Lưu ý: Sau khi cập nhật android studio, nút "Add As Library" không còn ở cuối danh sách. Bây giờ nó là khoảng thứ 5 từ dưới lên.
JFreeman

8

Tôi cũng đã phải đối mặt với vấn đề này. Lần đó tôi đã làm theo một số bước như:

  1. File> New> Import module> select your library_project. Sau đó include 'library_project'sẽ được thêm vào settings.gradletệp.

  2. File> Project Structure> App> Dependencies Tab> select library_project. Nếu library_projectkhông hiển thị sau đó, Nhấp vào +nút rồi chọn của bạn library_project.

  3. Làm sạch và xây dựng dự án của bạn. Các dòng sau sẽ được thêm vào mô-đun ứng dụng của bạn build.gradle( gợi ý: đây không phải là dòng classpathđược xác định ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Nếu những dòng này không xuất hiện, bạn phải thêm chúng theo cách thủ công và làm sạch và xây dựng lại dự án của bạn ( Ctrl + F9).

  2. Một thư mục có tên library_projectsẽ được tạo trong thư mục ứng dụng của bạn.

  3. Nếu bất kỳ biểu tượng hoặc lỗi hợp nhất tác vụ nào được tạo, hãy chuyển đến AndroidManifesttệp và thêm<application tools:replace="icon,label,theme">


7

Ba cách trong studio android để thêm thư viện bên ngoài.

  1. nếu bạn muốn thêm phụ thuộc dự án libarary vào dự án của mình:

    A. Trong menu tệp, nhấp vào mới và chọn mô-đun nhập, chọn đường dẫn dự án thư viện của bạn và nhấp vào ok, dự án thư viện tự động thêm vào dự án studio android của bạn.

    B. Bây giờ hãy mở tệp gradle mô-đun chính (như ứng dụng) của bạn và thêm phần phụ thuộc dự án vào phần phụ thuộc phần phụ thuộc {

    biên dịch dự án (': tên dự án thư viện')

  2. nếu bạn muốn thêm tệp jar: A. thêm tệp jar trong thư mục libs. B. Và Thêm phụ thuộc

    biên dịch fileTree (dir: 'libs', include: '* .jar') // thêm tất cả tệp jar từ thư mục libs, nếu bạn muốn thêm jar cụ thể từ libs, hãy thêm phụ thuộc bên dưới.

    biên dịch tệp ('libs / abc.jar')

  3. Thêm Phụ thuộc từ url (được khuyến nghị). giống

    biên dịch 'com.mcxiaoke.volley: library-aar: 1.0.0'


xin chào vinod, bạn có thể vui lòng giải thích cách thêm phần phụ thuộc với URL không? Ngoài ra, nó có thể là một URL git mà nếu nó trải qua một thay đổi sẽ được nhập trực tiếp vào dự án của tôi không? Tôi là một chút mới cho sự phát triển này để vừa lòng gấu với tôi nếu đó là một câu hỏi đơn giản :)
Katakam Nikhil

Hi Nikhil xin vui lòng đọc android phụ thuộc bài viết liên quan mà tôi đề cập đến developer.android.com/studio/build/dependencies.html
vinod

6

Đối với cách đơn giản nhất, chỉ cần làm theo các bước sau

  1. Đi tới File-> New-> Import Module->choose library or project folder

  2. Thêm thư viện để bao gồm phần trong tệp settings.gradle và đồng bộ hóa dự án (Sau đó, bạn có thể thấy thư mục mới với tên thư viện được thêm vào cấu trúc dự án)

    include ':mylibraryName'

  3. Đi tới Tệp -> Cấu trúc dự án -> ứng dụng -> tab phụ thuộc -> nhấp vào nút dấu cộng

  4. Chọn phụ thuộc mô-đun -> chọn thư viện (tên thư viện của bạn sẽ xuất hiện ở đó) và đặt phạm vi (biên dịch hoặc triển khai)

  5. Thêm dòng này trong build.gradle trong mô-đun cấp ứng dụng trong phần phụ thuộc

    implementation project(':mylibraryName')


3

Nếu thư viện bạn cần có trên GitHub thì việc thêm nó vào Android Studio thật dễ dàng với JitPack .

Bước 1. Thêm kho lưu trữ jitpack vào build.gradle:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

Bước 2. Thêm kho lưu trữ GitHub làm phụ thuộc:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

JitPack hoạt động như một kho lưu trữ maven và có thể được sử dụng giống như Maven Central. Điều tốt đẹp là những người bảo trì không phải tải lên thư viện. Hậu trường JitPack sẽ kiểm tra mã từ GitHub và biên dịch nó. Do đó, để điều này hoạt động, cần phải có một tệp xây dựng hoạt động trong kho lưu trữ git.

Ngoài ra còn có một hướng dẫn về cách xuất bản thư viện Android.


Đây không phải là sẽ lưu trữ các tệp phụ thuộc trong cây dự án?
user7860670

2

Android studio không sử dụng Maven, nó sử dụng Gradle, bạn có thể mở build.gradletuyến đường của mình nên:/app/build.gradle và thêm phần phụ thuộc Gradle hiển thị trên repo:

build.gradlemột dependenciesphần:

dependencies {
    //here add your dependency
}

Repo nói rằng bạn cần thêm phần phụ thuộc này:

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

chỉ thêm dòng đó dependenciesvào on của bạn buil.gradle, lưu tệp và android sẽ xây dựng lại dự án, vậy thôi


1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

Mở tệp build.gradle (Mô-đun: ứng dụng).

 implementation project(':library')

1

Biến bất kỳ dự án github nào thành một triển khai gradle dòng đơn với trang web này

https://jitpack.io/

Ví dụ, tôi cần dự án này: https://github.com/mik3y/usb-serial-for-android

Tất cả những gì tôi làm là dán cái này vào tệp gradle của mình:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'

Bạn đã cứu tôi! :). Cảm ơn Bạn, cảm ơn Bạn rất nhiều. Thật dễ dàng với thủ thuật Bạn đã nói! : Tôi đã vật lộn trong gần 4 giờ trước khi tôi thấy câu trả lời của Bạn! :)
Victor

0

Tôi đã từng gặp vấn đề tương tự. Điều này xảy ra do sự phụ thuộc vào thư viện lõi. Tôi đang sử dụng javax. *. Đây là những gì tôi đã làm để sửa chữa

Trong Tệp-> Cấu trúc dự án-> Phụ thuộc, tôi đã thêm tệp này dưới dạng tệp được cung cấp chứ không phải biên dịch. Sau đó xây dựng lại dự án.

Sự cố này bắt đầu xảy ra sau khi nâng cấp studio android. Nhưng tôi nghĩ nó sẽ xảy ra khi bạn cố gắng chỉnh sửa bạn xây dựng tệp theo cách thủ công.


0

Thêm thư viện trong Android studio 2.1

Just Go to project -> then it has some android,package ,test ,project view

Chỉ cần thay đổi nó thành Chế độ xem dự án

bên dưới app->lib folderbạn có thể sao chép trực tiếp dán lib và thực hiện đồng bộ hóa android. Đó là nó


Sao chép-Dán lib? Của nó một địa chỉ Mạng github repo
ODYS

0

1) chỉ cần lấy lib của bạn từ đây http://search.maven.org/

2) tạo một thư mục libs trong thư mục ứng dụng

3) dán thư viện của bạn vào đó

4) nhấp chuột phải vào thư viện của bạn và nhấp vào "Thêm làm Thư viện"

5) đó là tất cả những gì bạn cần làm!

Tôi hy vọng điều này chắc chắn sẽ giúp bạn !!!!


0

Có một số thay đổi trong gradle 4.1 mới

thay vì biên dịch, chúng ta nên sử dụng triển khai

triển khai 'com.android.support:appcompat-v7:26.0.0'


-1
  1. Trong phần kho của build.gradle của dự án, hãy thêm những thứ sau:
flatDir { dirs 'aars' } 
  1. Trong phần phụ thuộc của bạn của build.gradle, hãy thêm phần sau:

biên dịch '[id nhóm]: [id tạo tác]: [phiên bản] @aar'

thay thế [id nhóm], v.v. bằng các thuộc tính lib khác nhau

  1. tạo một thư aarsmục con trong thư mục dự án của bạn

  2. Sao chép [youlibrary].aarvào thư mục con được tạo trong 3. ở trên.

  3. Xây dựng và tận hưởng!


-2

CÁC BƯỚC ĐƠN GIẢN ĐỂ THÊM BẤT KỲ THƯ VIỆN NÀO TRONG ANDROID STUDIO:

  1. Sao chép tệp được đề cập từ bất kỳ thư mục nào trong máy tính của bạn (ví dụ: C: /documents/xyz.jar "), sau đó chuyển đến Android Studio và nhấp chuột phải vào thư mục Thư viện Dự án và chọn dán.

  2. Bây giờ, nhấp chuột phải vào tệp Thư viện mới được thêm và chọn tùy chọn "thêm làm Thư viện"

LÀM XONG

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.