Làm cách nào để thêm dự án thư viện vào Android Studio?


796

Làm cách nào để thêm dự án thư viện (như Sherlock ABS) vào Android Studio ?

(Không phải gói bó dựa trên Eclipse ADT cũ, mà là với Android Studio mới .)


28
vâng, việc tìm ra điều này khó hiểu hơn nhiều so với lẽ ra ... không giống như nó là tốt hơn trong nhật thực.
Daniel Smith

4
Video YouTube Cách thêm thư viện vào Android Studio giải thích quy trình.

2
Nếu bạn đang sử dụng Gradle, hãy xem câu trả lời StackOverflow này .
vươn

2
Đây là một video mà tôi thấy thực sự hữu ích: youtube.com/watch?v=1MyBO9z7ojk
Simon

Câu trả lời:


718

Cập nhật cho Android Studio 1.0

Kể từ khi Android Studio 1.0 được phát hành (và rất nhiều phiên bản giữa v1.0 và một trong những phiên bản đầu tiên kể từ câu trả lời trước của tôi), một số điều đã thay đổi.

Mô tả của tôi tập trung vào việc thêm dự án thư viện bên ngoài bằng tay thông qua các tệp Gradle (để hiểu rõ hơn về quy trình). Nếu bạn muốn thêm thư viện thông qua trình tạo Android Studio, chỉ cần kiểm tra câu trả lời bên dưới bằng hướng dẫn trực quan (có một số khác biệt giữa Android Studio 1.0 và các từ ảnh chụp màn hình, nhưng quá trình này rất giống nhau).

Trước khi bạn bắt đầu thêm thư viện vào dự án của mình bằng tay, hãy xem xét thêm phụ thuộc bên ngoài. Nó sẽ không gây rối trong cấu trúc dự án của bạn. Hầu như mọi thư viện Android nổi tiếng đều có sẵn trong kho lưu trữ Maven và quá trình cài đặt của nó chỉ mất một dòng mã trong app/build.gradletệp:

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
}

Thêm thư viện

Dưới đây là toàn bộ quá trình thêm thư viện Android bên ngoài vào dự án của chúng tôi:

  1. Tạo một dự án mới thông qua người tạo Android Studio. Tôi đặt tên cho nó là HelloWorld .
  2. Đây là cấu trúc dự án ban đầu được tạo bởi Android Studio:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. Trong thư mục gốc ( HelloWorld/), tạo thư mục mới: /libstrong đó chúng tôi sẽ đặt các thư viện bên ngoài của chúng tôi (bước này không bắt buộc - chỉ để giữ cấu trúc dự án sạch hơn).
  2. Dán thư viện của bạn trong /libsthư mục vừa tạo . Trong ví dụ này, tôi đã sử dụng thư viện PagerSlidingTabStrip (chỉ cần tải xuống ZIP từ GitHub, đổi tên thư mục thư viện thành „PagerSlidingTabStrip" và sao chép nó). Đây là cấu trúc mới của dự án của chúng tôi:
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. Chỉnh sửa cài đặt. Nâng cấp bằng cách thêm thư viện của bạn vào include. Nếu bạn sử dụng một đường dẫn tùy chỉnh như tôi đã làm, bạn cũng phải xác định thư mục dự án cho thư viện của chúng tôi. Toàn bộ cài đặt. Nâng cấp sẽ giống như dưới đây:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')

5.1 Nếu bạn gặp phải lỗi "Cấu hình mặc định", thì hãy thử điều này thay vì bước 5,

    include ':app'
    include ':libs:PagerSlidingTabStrip'
  1. Trong app/build.gradlethêm dự án thư viện của chúng tôi như một sự phụ thuộc:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    }

6.1. Nếu bạn đã làm theo bước 5.1, thì hãy làm theo bước này thay vì 6,

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'

        compile project(":libs:PagerSlidingTabStrip")
    }
  1. Nếu dự án thư viện của bạn không có build.gradletệp, bạn phải tạo thủ công. Dưới đây là ví dụ về tập tin đó:

        apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        }
  2. Ngoài ra, bạn có thể tạo cấu hình toàn cầu cho dự án của mình, trong đó sẽ chứa các phiên bản SDK và phiên bản công cụ xây dựng cho mọi mô-đun để giữ tính nhất quán. Chỉ cần chỉnh sửa gradle.propertiestệp và thêm dòng:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21

    Bây giờ bạn có thể sử dụng nó trong các build.gradletệp của mình (trong các mô-đun ứng dụng và thư viện) như bên dưới:

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //...
  3. Đó là tất cả. Chỉ cần nhấp vào ‚đồng bộ hóa dự án với biểu tượng Gradle ' đồng bộ hóa với Gradle. Thư viện của bạn nên có sẵn trong dự án của bạn.

Google I / O 2013 - Hệ thống xây dựng SDK Android mới là một bài thuyết trình tuyệt vời về việc xây dựng các ứng dụng Android với Gradle Build System: Như Xavier Ducrohet đã nói:

Android Studio là tất cả về chỉnh sửa, gỡ lỗi và định hình. Nó không phải là về việc xây dựng nữa.

Lúc đầu, nó có thể hơi khó hiểu (đặc biệt đối với những người làm việc với Eclipse và chưa bao giờ nhìn thấy con kiến ​​- như tôi;)), nhưng cuối cùng Gradle cho chúng ta một số cơ hội tuyệt vời và đáng để tìm hiểu hệ thống xây dựng này.


6
này, bạn đã giải thích hoàn hảo vấn đề thực sự bỏ phiếu cho câu trả lời của bạn để người khác có thể nhìn thấy nó. một điều nhỏ không hoạt động về phía tôi là tham khảo thư viện hỗ trợ trong build.gradle của người phụ thuộc. vì hóa ra ': Project / libs ...' không hoạt động vì một số lý do. tôi đã phải làm đi với nhận dạng dự án. vì vậy 'libs / ...'. và nó được biên soạn tốt. một lưu ý là hai cách tham chiếu đường dẫn hoặc dự án này gây nhầm lẫn. tôi hy vọng một kế hoạch đơn giản và thống nhất sẽ xuất hiện trong tương lai. không có lý do tại sao giải pháp ban đầu sẽ không hoạt động.
người chiến thắng n.

9
+1. Đã đấu tranh với điều này trong một thời gian dài. Như victor n đã nói, việc tham khảo jar hỗ trợ của dự án chính từ mô-đun actionbarsherlock không hoạt động. Tôi đã phải làm như sau để nó hoạt động ... (1) Xóa các tệp biên dịch ('libs / android-support-v4.jar') khỏi build.gradle của dự án. Mô-đun chính chỉ nên có dự án biên dịch (": library: actionbarsherlock") . (2) Thêm tệp biên dịch ('libs / android-support-v4.jar') thay vì tệp biên dịch (': HelloWorld / libs / android-support-v4.jar') trong build.gradle của actionbarsherlock.
Akbar ibrahim

3
Ở đâu Global libraries(# 10: "Bây giờ đi đến thư viện toàn cầu")? Ngoài ra, nó hoạt động như mô tả :) Cảm ơn rất nhiều. (Tôi hy vọng Google sẽ giải quyết nó - một nhiệm vụ đơn giản như vậy rất phức tạp vào lúc này)
Konrad Morawski

8
Tại sao tôi không có phần "Nhập mô-đun", tại tùy chọn nơi bạn chỉ dẫn chúng tôi? Tôi đang sử dụng Android Studio 0.3.1
alicanbatur

5
Tùy chọn nhập mô-đun bị thiếu !!
amalBit

274

Dưới đây là hướng dẫn trực quan:

Cập nhật cho Android Studio 0.8.2:

Trong Android Studio 0.8.2, đi đến Cấu trúc dự án -> bên dưới Mô-đun chỉ cần nhấn nút dấu cộng và chọn Nhập dự án hiện có và nhập actionbarsherlock. Sau đó đồng bộ hóa các tập tin Gradle của bạn.

Nếu bạn gặp phải lỗi

Lỗi: Bản sửa đổi SDK Build Tools (xx.xx) quá thấp. Yêu cầu tối thiểu là yy.yy

chỉ cần mở build.gradletệp trong actionbarsherlockthư mục và cập nhật tệp được buildToolsVersionđề xuất.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

Xưởng Android 0.8.2


Tệp menu -> Cấu trúc dự án ... :

Đầu tiên

Mô-đun -> Mô-đun nhập

Thứ hai

Sau khi nhập mô-đun thư viện, chọn mô-đun dự án của bạn và thêm phụ thuộc:

Ngày thứ ba

Và sau đó chọn mô-đun đã nhập :

Forth


31
Tùy chọn mô-đun nhập không khả dụng trong Android Studio4.3
amalBit

3
Chìa khóa để tôi thực hiện công việc này và giải quyết lỗi không tìm thấy gói là bướcSelect your project module and add dependency dependencies { // ... compile project(':library') }
toobsco42

7
Điều này sẽ sao chép mô-đun thư viện trong dự án của bạn, đây không phải là điều bạn muốn nếu bạn muốn một cơ sở mã chung được chia sẻ giữa một số dự án
Rémy DAVID

@amalBit là ... bạn đến từ tương lai? Nhưng nghiêm túc, họ cần làm cho nó đơn giản như trong ADT của Eclipse; Ai muốn đánh một repo của bên thứ ba và biên dịch mã tùy ý (có khả năng) vào mỗi bản dựng? Điều đó làm suy yếu nghiêm trọng QA và các giao thức đóng băng mã
CCJ

Đó là cách trở lại trong những ngày beta của studio Android 0.4.3. Đối với việc gia nhập repo của bên thứ 3, id nói, tránh sử dụng +. Chỉ cần xác định phiên bản bạn muốn. Nếu bạn vẫn không thể tin tưởng đủ, bạn có thể tạo một bình (hoặc bản sao) của bất kỳ repo nào và sử dụng nó.
amalBit

111

Sử dụng menu Tệp -> Cấu trúc dự án -> Mô-đun .

Tôi bắt đầu sử dụng nó ngày hôm nay. Nó là một chút khác nhau.

Đối với Sherlock, có thể bạn muốn xóa thư mục thử nghiệm của họ hoặc thêm junit.jartệp vào đường dẫn lớp.

Để nhập thư viện bằng gradle, bạn có thể phải thêm nó vào dependenciesphần của build.gradle(mô-đun).

Ví dụ

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

Android Studio đang thay đổi.

Tồn tại một phần có tên "Mở cài đặt mô-đun" nếu bạn nhấp chuột phải vào thư mục mô-đun trong phần dự án của Android Studio (Tôi đang sử dụng phiên bản 0.2.10).


1
Hmm, nó vẫn nói android-apt-Trình biên dịch: Styles.xml: 5: error: Lỗi khi truy xuất nguồn gốc của cha cho mục: Không tìm thấy tài nguyên nào khớp với tên đã cho 'Theme.Sherlock.Light.DarkActionBar'.
Alexander Kulyakhtin

Theo Mô-đun Sherlock -> Phụ thuộc tôi có Android 4.2.2 và Thư viện hỗ trợ v4
Blackbelt

@ яσѕρєяK bên cạnh nút chạy, có một nhãn với Android. Nếu bạn ckick ở đó, bạn sẽ tìm thấy Chỉnh sửa cấu hình. Nhấn và bên dưới Thiết bị mục tiêu, nhấp vào "Hiển thị nút quay số trình chọn"
Blackbelt

7
Xin chào, tôi có cùng một vấn đề như Alex ("Gradle: Lỗi khi truy xuất nguồn gốc của phụ huynh cho mục: Không tìm thấy tài nguyên nào khớp với tên đã cho 'Theme.Sherlock.Light'.") - sự phụ thuộc Java dường như được giải quyết chính xác, gây ra IDE không đổ lỗi cho SherlockActivity của tôi, nhưng vì một số lý do, Gradle dường như không xem xét các nguồn gốc của ABS. Có ý kiến ​​gì không?

4
Trên Android Studio 0.2.8 không có Modulesphần nào trong Project Structurecửa sổ.
Konrad Morawski

52

Tôi sẽ xem xét phụ thuộc, Thư viện Android và đọc thiết lập nhiều dự án cần thiết. Hãy dành một vài phút để làm như vậy.

Đặc biệt, trong trường hợp dự án thư viện không bình, hãy đọc đoạn mã sau từ nguồn trên:

Dự án lớp cũng có thể phụ thuộc vào các dự án lớp khác bằng cách sử dụng một thiết lập nhiều dự án. Một thiết lập nhiều dự án thường hoạt động bằng cách có tất cả các dự án dưới dạng các thư mục con của một dự án gốc nhất định.

Ví dụ, được đưa ra cho cấu trúc sau:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/

Chúng tôi có thể xác định 3 dự án. Gradle sẽ tham chiếu chúng với tên sau:

:app
:libraries:lib1
:libraries:lib2

Mỗi dự án sẽ có build.gradle riêng khai báo cách nó được xây dựng. Ngoài ra, sẽ có một tệp có tên là settings.gradle ở phần gốc khai báo các dự án. Điều này cho cấu trúc sau:

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle

Nội dung của settings.gradle rất đơn giản:

include ':app', ':libraries:lib1', ':libraries:lib2'

Điều này xác định thư mục nào thực sự là một dự án Gradle.

Dự án ứng dụng: có thể phụ thuộc vào các thư viện và điều này được thực hiện bằng cách khai báo các phụ thuộc sau:

dependencies {
    compile project(':libraries:lib1')
}

Vui lòng lưu ý rằng có rất ít hoặc không sử dụng GUI Android Studio để thực hiện điều này.

Tôi hiện đang sử dụng các mô đun con git để liên kết thư viện lồng nhau với thư viện git repo thực tế để tránh một mớ hỗn độn phụ thuộc.


Rất hữu ích và quan trọng hơn, không chơi theo ý thích của gui trong ngày.
RichieHH

1
cảm ơn bạn rất nhiều vì bao gồm câu trả lời duy nhất có ý nghĩa mọi câu trả lời khác đều lỗi thời và chỉ không hoạt động. Tôi thậm chí đã không thử làm CS tại Virginia Tech vì cả hai năm đầu tiên tôi đã học cách nhấp chuột vào nhật thực. nó đã không thực hiện bất kỳ cảm giác fckn, nhưng nhìn thấy các gradle kết quả của nhấp chuột ngẫu nhiên trong một IDE không.
dcunited001

Cảm ơn các mẹo phụ git. Tôi đã sử dụng đường giao nhau trước đây, nhưng bây giờ đã chuyển sang bên ngoài SVN. Hoạt động như một lá bùa.
velis

25

Tôi vừa tìm thấy một cách dễ dàng hơn (thay vì viết trực tiếp vào các tệp .gradle).

Đây là dành cho Android Studio 1.1.0.

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

    Nhập dự án hiện có

    Nhấp vào "Nhập dự án hiện tại".

  2. Chọn thư viện mong muốn và mô-đun mong muốn.

  3. Nhấn vào kết thúc. Android Studio sẽ nhập thư viện vào dự án của bạn. Nó sẽ đồng bộ các tập tin gradle.

  4. Thêm mô-đun nhập vào phụ thuộc dự án của bạn.

    Nhấp chuột phải vào thư mục ứng dụng -> Mở cài đặt Mô-đun -> chuyển đến tab phụ thuộc -> Nhấp vào nút '+' -> nhấp vào Phụ thuộc mô-đun.

    Mô-đun thư viện sau đó sẽ được thêm vào các phụ thuộc của dự án.

    Thêm mô-đun thư viện

  5. ???

  6. Lợi nhuận


17

Cách dễ nhất tôi tìm thấy để bao gồm dự án thư viện bên ngoài là (ví dụ: bao gồm thư viện Facebook được lưu trữ một thư mục trong thư mục phụ thuộc):

  1. Trong cài đặt. Nâng cấp thêm

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
  2. Trong phần phụ thuộc build.gradle, thêm

    compile project ('facebook')

Tất cả còn lại để làm là đồng bộ hóa dự án với các tập tin lớp.


Xin chào Vilen cài đặt là
gìDir

Xin chào Rajamel. Từ tài liệu: settingsDir Trả về thư mục cài đặt của bản dựng. Thư mục cài đặt là thư mục chứa tệp cài đặt. Trả về: Thư mục cài đặt. Không bao giờ trả về null.
Vilen

Hai dấu chấm trước / phụ thuộc quan trọng hơn cần được chăm sóc Câu trả lời của bạn giúp tôi rất nhiều .. Cảm ơn
Rajquer Mishra

LƯU Ý: để đánh giá chuỗi trong lớp, bạn phải sử dụng dấu ngoặc kép ("). Điều này" tiết kiệm trong ngày "cho tôi. Liên kết với điều này
Solata

15

Một cách đơn giản để thêm tệp JAR làm thư viện vào dự án Android Studio của bạn:

a) Sao chép tệp * .jar của bạn

b) Dán vào thư mục libs trong các dự án của bạn:

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

c) Thêm vào build.gradle:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}

b) Nếu dự án của bạn từ ví dụ com.example.MYProject và thư viện com.example.ScanAPI có cùng không gian tên com.example , Android Studio sẽ kiểm tra bản dựng của bạn và tạo tất cả các thay đổi cần thiết trong dự án của bạn. Sau đó, bạn có thể xem lại các cài đặt này trong menu Tệp -> Cấu trúc dự án .

c) Nếu dự án và thư viện của bạn có một không gian tên khác, bạn phải nhấp chuột phải vào thư viện và chọn tùy chọn "Thêm làm thư viện" và chọn loại bạn cần.

Hãy nhớ tùy chọn "Cấu trúc dự án" không thực hiện bất kỳ thay đổi tự động nào trong "build.gradle" trong phiên bản Android Studio hiện tại (0.2.3). Có thể tính năng này sẽ có sẵn trong các phiên bản tiếp theo.


12

Tùy chọn 1: Thả tập tin vào thư mục libs / của dự án

Sau đó, tệp build.gradle có liên quan sẽ tự động cập nhật.

Tùy chọn 2: Sửa đổi tệp build.gradle bằng tay

Mở tệp build.gradle của bạn và thêm quy tắc xây dựng mới vào bao đóng phụ thuộc. Ví dụ: nếu bạn muốn thêm Dịch vụ Google Play, phần phụ thuộc của dự án của bạn sẽ trông giống như thế này:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   }

Tùy chọn 3: Sử dụng Giao diện người dùng của Android Studio

Trong bảng Project, Control+ nhấp vào mô-đun bạn muốn thêm phụ thuộc vào và chọn Mở Cài đặt mô-đun.

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

Chọn tab Phụ thuộc, theo sau là nút + ở góc dưới bên trái. Bạn có thể chọn từ danh sách các tùy chọn sau:

  • Thư viện phụ thuộc
  • Phụ thuộc tệp
  • Phụ thuộc mô-đun

Sau đó, bạn có thể nhập thêm thông tin về sự phụ thuộc mà bạn muốn thêm vào dự án của mình. Ví dụ: nếu bạn chọn Phụ thuộc thư viện, Android Studio sẽ hiển thị danh sách các thư viện để bạn chọn.

Khi bạn đã thêm phụ thuộc của mình, hãy kiểm tra tệp build.gradle cấp mô-đun của bạn. Nó sẽ tự động cập nhật để bao gồm các phụ thuộc mới.

Nguồn


10

Đây là cách nó hoạt động với tôi trong Android Studio 1.5+

Trong dự án nơi bạn muốn thêm dự án thư viện bên ngoài, hãy chuyển đến trình đơn Tệp -> Mới -> * Nhập Mô-đun mới **, điều hướng đến dự án thư viện mà bạn muốn thêm vào dự án của mình, chọn để thêm mô-đun 'thư viện' vào dự án của bạn. Bạn sẽ nhận được cài đặt. Nâng cấp trong các dự án của bạn, bên cạnh ứng dụng, bao gồm thư viện, đại loại như thế này:

include ':app', ':library'

Thêm vào build.gradle (Module: ứng dụng) trong phần phụ thuộc:

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

Xây dựng lại dự án, và đó là nó.

* Bạn có thể thêm bao nhiêu thư viện (mô-đun) nếu muốn. Trong trường hợp đó trong cài đặt. Nâng cấp bạn sẽ có:

 include ':app', ':lib1', ':lib2', ...

Và trong build.gradle, bạn sẽ cần phải có:

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

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
}

9

Nếu bạn cần quyền truy cập vào các tài nguyên của dự án thư viện (như bạn làm với ABS), hãy đảm bảo rằng bạn thêm dự án / mô-đun thư viện dưới dạng "Phụ thuộc mô-đun" thay vì "Thư viện".


9

Bạn có thể làm điều này một cách dễ dàng. Chuyển đến menu Tệp -> Mới -> Mô-đun nhập ... :

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

Duyệt tìm thư mục chứa mô-đun. Nhấp vào Kết thúc:

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

Đi đến Cấu trúc dự án và thêm phụ thuộc mô-đun :

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

Lưu ý: Nếu bạn nhận được lỗi SDK, hãy cập nhật lỗi đó.


1
Theo tôi cách đơn giản nhất và nhanh nhất, vẫn hoạt động như ngày nay!
mrj

8
  1. Nhấn F4để hiển thị Cấu trúc dự án , nhấp vào thư viện hoặc thư viện Toàn cầu và nhấp+ để thêm tệp JAR.
  2. Nhấp vào Mô-đun những gì bạn muốn thêm jar, chọn tab Phụ thuộc , nhấp +và thêm Thư viện.

6

Không nên chỉnh sửa các phụ thuộc thư viện thông qua GUI vì điều đó không ghi những thay đổi đó vào tệp build.gradle của bạn. Vì vậy, dự án của bạn sẽ không xây dựng từ dòng lệnh. Chúng ta nên chỉnh sửa tệp build.gradle trực tiếp như sau.

Ví dụ, được đưa ra cho cấu trúc sau:

Dự án của tôi/

  • ứng dụng /
  • thư viện /
    • lib1 /
    • lib2 /

Chúng tôi có thể xác định ba dự án. Gradle sẽ tham chiếu chúng với các tên sau:

  1. : ứng dụng
  2. : thư viện: lib1
  3. : thư viện: lib2

Dự án ứng dụng: có thể phụ thuộc vào các thư viện và điều này được thực hiện bằng cách khai báo các phụ thuộc sau:

dependencies {
    compile project(':libraries:lib1')
}

Có thật không? Thật kỳ lạ, họ có toàn bộ GUI và điều đó không được khuyến khích. Làm sao vậy
Alexander Kulyakhtin

Khi chỉnh sửa thông qua GUI không ghi những thay đổi đó vào tệp build.gradle của bạn. Chỉnh sửa GUI chỉ lưu các thay đổi trong dữ liệu dự án của IntelliJ. Đây là một lỗi tại thời điểm này sẽ được sửa trong các bản phát hành trong tương lai. Bạn có thể tham khảo câu trả lời này từ Google Android-Studio Team Leadoverflow.com/questions/16678447/iêu
Shakti Malik

5

Để thêm vào câu trả lời: Nếu IDE không hiển thị bất kỳ lỗi nào, nhưng khi bạn cố gắng biên dịch, bạn sẽ nhận được một cái gì đó như:

No resource found that matches the given name 'Theme.Sherlock.Light'

Dự án thư viện của bạn có thể được biên dịch như một dự án ứng dụng. Để thay đổi điều này, hãy đi đến:

Tệp menu -> Cấu trúc dự án -> Khía cạnh -> [Tên thư viện] -> Kiểm tra "Mô-đun thư viện".


5

Cách đầu tiên Điều này đang làm việc cho MacBook.

Đầu tiên chọn tệp builder.gradle của bạn như màn hình đã cho:

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

Thêm các phụ thuộc như trên màn hình đã chọn:

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

Chọn dự án đồng bộ.

Nếu bạn gặp lỗi như "Dự án có đường dẫn ': không thể tìm thấy chữ ký' trong dự án ': ứng dụng'", thì vui lòng sử dụng cách thứ hai:

Chọn menu Tệp -> Mới -> Mô-đun nhập ... :

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

Sau khi nhấp vào Mô-đun nhập ,

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

đưa ra đường dẫn của thư viện giống như đường dẫn MacBook của tôi:

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

Nhấp vào Kết thúc . Bây giờ thư viện của bạn đã được thêm vào.


4

Sau khi nhập Mô-đun ABS (từ Tệp> Cấu trúc dự án) và đảm bảo rằng nó có Android 2.2 và Thư viện hỗ trợ v4 làm phụ thuộc, tôi vẫn gặp phải lỗi sau khi bạn @Alex

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'

Tôi đã thêm mô-đun mới được nhập dưới dạng phụ thuộc vào mô-đun ứng dụng chính của mình và điều đó đã khắc phục sự cố.


Tôi đã thử tất cả các bước bao gồm thêm mô-đun như một phụ thuộc nhưng tôi vẫn có Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'.. Có vẻ như dự án chính của tôi không thấy tài nguyên của dự án thư viện (ABS). IDE tuy nhiên nhận ra các tham chiếu đến các lớp và tài nguyên. Ảnh chụp màn hình
christiaanderidder

Tôi đang chuyển sang IDEA 13 từ 12 và cũng gặp lỗi này. Chỉ nhập lại cho tất cả các phụ thuộc của tôi sẽ giúp. Xóa thủ công tất cả các mô-đun, xóa các tệp * .iml có liên quan và nhập lại libs của bạn
Dmitriy Tarasov

4

Studio Android 3.0

Chỉ cần thêm tên thư viện vào khối phụ thuộc của tệp build.gradle của ứng dụng .

dependencies {
    // ...
    implementation 'com.example:some-library:1.0.0'
}

Lưu ý rằng bạn nên sử dụng implementationhơn là compilebây giờ. Điều này là mới với Android Studio 3.0. Xem Q & A này để được giải thích về sự khác biệt.


Đây thực sự là một thay đổi trong Lớp 4, không phải Android Studio 3. Bạn có thể tiếp tục sử dụng com.android.tools.build:gradle:2.3.3thay vì 3.0.0 trong Android Studio 3 nếu bạn muốn tiếp tục sử dụng "biên dịch".
chauduyphanvu

3

Để giải quyết vấn đề này, bạn chỉ cần thêm đường dẫn tài nguyên abs vào tệp xây dựng dự án của mình, giống như dưới đây:

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
}

Vì vậy, tôi một lần nữa biên dịch mà không có bất kỳ lỗi nào.


3

Nếu bạn có Android Studio .0.4.0, bạn có thể tạo một thư mục mới trong đường dẫn xây dựng của mình , YourApp/libraries. Sao chép tệp JAR. Ở đó, nhấp chuột phải vào nó và "Thêm dưới dạng thư viện". Bây giờ bạn có một cửa sổ bật lên. Chỉ cần chọn thư mục của bạn và nhấn OK, và đó là nó.


3

Chỉ cần nhập dự án thư viện Android dưới dạng mô-đun và trong Build.gradle .

Áp dụng plugin: 'com.android.l Library'

Sau đó, làm theo các bước sau:

  1. Nhấp chuột phải vào Mô-đun và chọn mở Cài đặt mô-đun
  2. Chọn phụ thuộc, nhấp vào +, chọn phụ thuộc thư viện và thêm mô-đun đã nhập trước đó.



2

Về cơ bản, bạn có thể bao gồm các tệp JAR của mình theo ba cách khác nhau. Cái cuối cùng là thư viện từ xa đang sử dụng https://bintray.com/ kho lưu trữ trực tuyến jcenter. Nhưng, nếu bạn thực hiện theo một trong hai cách khác, tệp JAR sẽ được đưa vào vật lý trong dự án của bạn. Vui lòng đọc liên kết này https://stackoverflow.com/a/35369267/5475941 để biết thêm thông tin. Trong bài đăng này, tôi đã giải thích cách nhập tệp JAR của bạn trong studio Android và tôi đã giải thích tất cả các cách có thể.

Tóm lại, nếu nó giống như thế này (địa chỉ cục bộ), chúng được tải xuống và các tệp JAR này nằm trong dự án:

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

Nhưng, nếu đó là một địa chỉ internet như thế này, chúng là các thư viện từ xa (phần jcenter của bintray.com) và chúng sẽ được sử dụng từ xa:

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

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


2

Mở tệp ứng dụng mô đun lớp xây dựng và thêm phụ thuộc của bạn. Nếu bạn tải xuống thư viện, chỉ cần nhập và xây dựng dưới dạng lớp.

Nếu không, thêm các kho lưu trữ trong ứng dụng mô-đun lớp bên:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}

Các kho lưu trữ đầu tiên sẽ tải thư viện cho bạn.

Và biên dịch thư viện đã tải xuống:

 compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    }

Nếu bạn đang tạo một thư viện, bạn chỉ cần nhập dự án dưới dạng nhập mô-đun mới.


2

Tôi đã có một nguyên nhân khác nhau của vấn đề vì vậy đối với mọi người:

repositories {
    mavenCentral()
}

thay đổi mavenCentral () thành jcenter () và thêm

allprojects {
    repositories {
        jcenter()
    }
}

1

Trong Android Studio, đi đến bên trong thư mục ứng dụng và mở tệp build.gradle. Ở đây bạn sẽ thấy phụ thuộc {}. Bên trong nó, bạn có thể thêm dự án thư viện và đồng bộ hóa. Bây giờ sau khi đồng bộ hóa thư viện, nó sẽ được thêm vào dự án của bạn và bạn có thể sử dụng các chức năng và các lớp của nó trong dự án của bạn.


1

Dành cho Android Studio:

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

Nhấp vào Build.gradle (mô-đun: ứng dụng) .

Và thêm cho

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
}

và trong thư mục "ứng dụng" của bạn, hãy tạo một thư mục "libs". Thêm tệp yourfile.jar:

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

Cuối cùng, biên dịch tập tin Gradle:

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


0

Tôi cũng gặp phải vấn đề tương tự sau đó tôi đã làm theo những điều sau đây.

  1. Tôi nhập dự án thư viện vào AndroidStudio IDE dưới dạng mô-đun bằng menu Tệp -> Nhập menu mô-đun

  2. Sau đó, tôi đã đi đến mô-đun chính của mình, trong đó tôi muốn dự án thư viện là một dự án phụ thuộc

  3. Nhấp chuột phải vào mô-đun chính (trong trường hợp của tôi tên là ứng dụng ) -> mở cài đặt mô-đun -> đi vào tab phụ thuộc -> nhấp vào nút + (bạn sẽ nhận được ở bên phải cửa sổ) -> nhấp vào phụ thuộc mô-đun - > chọn dự án thư viện của bạn từ danh sách

Áp dụng các thay đổi và nhấp vào OKnút.

Nó làm việc cho tôi. Tôi hy vọng nó sẽ giúp những người khác quá.


0

Thêm phần này vào tập tin lớp xây dựng của bạn:

 dependencies {
     implementation 'com.jakewharton:butterknife:9.0.0'
}

-1

Thực tế là các phiên bản đang thay đổi, do đó, thay đổi giao diện người dùng và các tùy chọn có sẵn trên menu. Sau khi đọc hầu hết các câu trả lời cho những câu hỏi này, tôi phải đoán những gì sẽ hoạt động cho Android Studio 1.1.0 .

  1. Với chuột của bạn, chọn dự án ở cấp chính (đây là nơi hiển thị tên ứng dụng của bạn).

  2. Nhấp chuột phải và chọn các tùy chọn menu Mới, Thư mục, Thư mục Tài sản .

  3. Sau khi tạo thư mục tài sản, dán hoặc sao chép vào đó, bất kỳ tệp JAR nào bạn cần cho thư viện của mình.

  4. Từ menu chính của Android Studio (trên cùng màn hình), chọn Tệp -> Cấu trúc dự án .

  5. Sau đó chọn tên dự án của bạn và đi đến tab Phụ thuộc .

  6. Nhấp vào dấu cộng ( +) ở phía dưới bên trái của hộp thoại và chọn phụ thuộc tệp.

  7. Cuối cùng mở thư mục tài sản được tạo gần đây, chọn tệp JAR mà bạn đã sao chép, sau đó bấm áp dụng và OK.

Làm sạch và xây dựng lại dự án của bạn.


1
tạo các bản sao của lọ trong tài sản không phải là một ý tưởng hay, nó sẽ tăng kích thước apk một cách không cần thiết
Rajquer Mishra

Cảm ơn lời khuyên @RajarnMishra. Tôi nghi ngờ điều đó, nhưng bạn đề nghị gì thay thế?
monn3t
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.