2013-09-01 42 views
37

Chúng tôi có thể tìm thấy một số thư viện nguồn mở rất tốt dành cho Android. Tôi muốn biết cách tốt nhất để tích hợp chúng vào các dự án của riêng mình trong Android studio là gì. Dưới đây là một số phương pháp cơ bản:Cách tốt nhất để tích hợp thư viện của bên thứ ba trong Android studio

  • Sao chép mã nguồn và tệp tài nguyên vào dự án của riêng chúng tôi. Chúng tôi cần thay đổi nhiều mã (tên gói và tên trong xml, v.v.)
  • Nếu tệp jar được cung cấp, tôi chỉ tạo thư mục libs cho dự án của mình và sao chép tệp jar bên trong. Và thêm tệp jar vào phụ thuộc của thiết lập Module. Nhưng tiếc là tôi nhận được rất nhiều thông báo lỗi như "Gradle: Package com.google.gson không tồn tại".

Có quy tắc chung nào để thêm tệp nguồn hoặc tệp của bên thứ ba vào dự án studio android hiện có không? Cảm ơn

+0

Tôi tìm thấy một bài đăng phù hợp để tích hợp tệp jar. http://stackoverflow.com/questions/16608135/android-studio-add-jar-as-library?rq=1 Nhưng đối với một số dự án có một số tệp tài nguyên không cung cấp tệp jar. –

+1

Vâng, những gì bagusflyer nói .. –

Trả lời

51

Tôi thích sử dụng kho trung tâm để quản lý phụ thuộc. Vì vậy, đối gson 2.3 phụ thuộc bạn nên thêm vào build.gradle file:

  • định mà bạn muốn sử dụng kho trung tâm maven cho sự phụ thuộc của bạn

    repositories {jcenter()}

  • Thêm compile phụ thuộc vào gson 2.6.2

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

Android Studio cũng như máy chủ CI của bạn sẽ dễ dàng tạo dự án ngay bây giờ. Và bạn có thể tiếp tục phát triển ứng dụng.

Tôi thích sử dụng kho trung tâm cho việc quản lý phụ thuộc bởi vì:

  • dễ dàng quản lý phạm vi - một số thư viện chỉ để thử nghiệm, một số cần được đưa đến apk và một số là một phần của hoạt động môi trường (như Android.jar chính nó)
  • quản lý phụ thuộc transitive dễ dàng hơn - rất khó để thu thập phụ thuộc thư viện và nếu bạn sử dụng "jar-with-dependencies", bạn có thể gặp lỗi "class already added" trong khi dexing
  • repository nhẹ hơn và nâng cấp phụ thuộc dễ dàng hơn

Ví dụ:

  • Robolectric jar nên được sử dụng cho đơn vị chỉ kiểm tra và không nên là một phần của bản thân apk
  • Repository là sạch từ fo khác nhau lders với lọ, thanh toán mất ít hơn nhiều. Không cần phải tải về và thay thế lọ cũ với lọ mới

tôi nên chú ý:

  • Không có nhiều thư viện trong maven trung ương và bạn nên thực hiện một số nỗ lực để sử dụng chúng theo cách như vậy trong dự án của bạn
  • Bạn có thể dễ dàng gặp lỗi "thêm vào lớp" khi đang dexing với cách tiếp cận kho trung tâm
  • Bạn có thể kết hợp việc sử dụng phụ thuộc từ kho trung tâm và thư mục lib, nhưng tôi chỉ sử dụng một cách để đơn giản
+0

Điều đó thật tuyệt. Nhưng làm thế nào tôi có thể biết được thư viện nào nằm trong kho lưu trữ trung tâm? –

+0

Bạn có thể tìm kiếm nó http://search.maven.org/ –

+0

@EugenMartynov: Có hai tệp build.gradle trong dự án của tôi. Một trong thư mục gốc của dự án và thư mục kia trong thư mục ứng dụng. Tập tin nào để đặt phần 'repositories' và' dependencies'? – tonga

12
  1. Đặt jar Gson (trong trường hợp của tôi, gson-2.2.4.jar) vào libs thư mục
  2. nhấp chuột phải vào nó và nhấn 'Thêm vào thư viện'
  3. Đảm bảo rằng compile files('libs/gson-2.2.4.jar') là trong build.gradle tập tin của bạn
  4. Đỗ một bản dựng gọn gàng (bạn có thể làm điều này tốt trong Android Studio, nhưng để đảm bảo rằng 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 tôi và nhập gradlew clean.Tôi đang sử dụng Mac OS X, lệnh có thể khác trên hệ thống của bạn

Loạt bước này được lấy từ Android Studio: Add jar as library? và không phải là câu trả lời ban đầu của tôi. Tôi đăng chúng ở đây, một lần nữa, bởi vì câu hỏi của bạn là thứ ba trong kết quả tìm kiếm trên Google khi tìm kiếm cùng chủ đề này. Do đó, sao chép.

Tất cả tín dụng cho người đã viết các bước.

+0

Rõ ràng bây giờ bạn có thể kéo và thả các jar từ bất cứ nơi nào vào thư mục libs của dự án của bạn và nó được thêm vào để xây dựng đường dẫn automagically. Tôi làm việc tốt cho tôi, nhưng YMMV. –

3

Tải & Sao chép tập tin .jar của bạn trong libs thư mục sau đó thêm một dòng vào build.gradle:

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

Đừng quên bấm vào nút "Sync bây giờ"

tôi đang sử dụng Android Studio 1.1. 0

1

Tải xuống và sao chép thư mục jar vào thư mục libs của bạn, sau đó thêm thông tin sau vào tệp app.gradle và SYNC của bạn.

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

repositories{ 
    flatDir{ 
     dirs 'libs' 
    } 
} 
Các vấn đề liên quan