2013-05-16 32 views
75

Tôi đã tạo một dự án Android mới bằng trình hướng dẫn mặc định trong Android Studio. Biên dịch và triển khai ứng dụng cho thiết bị của tôi. Tất cả đều tốt.Làm thế nào để nhập khẩu phụ thuộc Maven trong Android Studio/IntelliJ?

Bây giờ tôi muốn nhập thư viện bên ngoài có sẵn trên Maven. (http://square.github.io/picasso/). Tôi đã đi đến tài sản mô-đun, và thêm một thư viện Maven. Nó hiển thị chính xác trong danh sách các phụ thuộc. Ngoài ra, nó xuất hiện trong trình soạn thảo và tôi có thể sử dụng chính xác nó trong mã.

Tuy nhiên, tại thời gian biên dịch, tôi nhận được một lỗi Gradle: không thể tìm thấy lớp

Bất kỳ ý tưởng?

Trả lời

63

Kể từ phiên bản 0.8.9, Android Studio hỗ trợ Kho lưu trữ trung tâm Maven theo mặc định. Vì vậy, để thêm một sự phụ thuộc maven bên ngoài tất cả các bạn cần làm là chỉnh sửa tập tin build.gradle của mô-đun và chèn một dòng vào phần phụ thuộc như thế này:

dependencies { 

    // Remote binary dependency 
    compile 'net.schmizz:sshj:0.10.0' 

} 

Bạn sẽ thấy một thông báo xuất hiện như 'Đ.b.hóa .. . '- bấm vào nó và chờ cho repo maven được tải xuống cùng với tất cả các phụ thuộc của nó. Sẽ có một số thông báo trong thanh trạng thái ở dưới cùng cho bạn biết điều gì đang xảy ra liên quan đến việc tải xuống. Sau khi nó kết thúc điều này, tệp JAR đã nhập cùng với các phụ thuộc của nó sẽ được liệt kê trong cây Kho lưu trữ bên ngoài trong cửa sổ Trình duyệt dự án, như được hiển thị bên dưới.

enter image description here

Một số giải thích thêm ở đây: http://developer.android.com/sdk/installing/studio-build.html

+5

Không hoạt động mà không có: kho lưu trữ { mavenCentral() } – Johannes

+0

Đôi khi chúng ta không thể sử dụng đơn giản, thêm bên ngoài sẽ tập luyện, lấy mẫu ở đây ... kho { maven {url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/'} } ... biên dịch 'com.google.code.ksoap2-android: ksoap2-android: 3.6.0' – Nandha

75

Tôi đang sử dụng Spring Framework android vật là một ví dụ

mở build.gradle

Sau đó, thêm dòng sau cùng cấp như áp dụng plugin: 'Android'

apply plugin: 'android' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE' 
} 

bạn cũng có thể sử dụng ký hiệu này cho các tạo phẩm maven

compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE' 

IDE của bạn sẽ hiển thị bình và phụ thuộc của nó trong 'Thư viện bên ngoài' nếu nó không hiển thị cố gắng khởi động lại IDE (điều này xảy ra với tôi một chút)

đây là ví dụ mà bạn đã cung cấp hoạt động

buildscript { 
    repositories { 
     maven { 
      url 'repo1.maven.org/maven2'; 
     } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile files('libs/android-support-v4.jar') 
    compile group:'com.squareup.picasso', name:'picasso', version:'1.0.1' 
} 
android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 
    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 17 
    } 
} 
+1

Tôi cố gắng đó, đây là tập tin build.gradle tôi: '' ' buildscript { kho { maven {url 'http://repo1.maven.org/maven2'}} phụ thuộc { classpath 'com.android.tools.build:gradle:0.4' }} áp dụng plugin: 'android' phụ thuộc { biên dịch file ('libs/android-support-v4.jar') nhóm biên dịch: 'com.squareup.picasso', tên: 'picasso', phiên bản: '1.0.1' } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 17 }} '' ' Lỗi: Không thể tìm com.squareup.picasso: picasso: 1.0. 1. – munkay

+1

@munkay Tôi đã cập nhật câu trả lời với một build.gradle đã sửa chữa phù hợp với chú thích của bạn – user1568967

+18

Phần quan trọng là khởi động lại IDE. Phiên bản IntelliJ này không nhận được thay đổi. – Jimmy2Times

3
  1. Bỏ chọn "Offline làm việc" trong File> Cài đặt> Gradle> Global Gradle Cài đặt
  2. resync dự án, ví dụ bằng cách khởi động lại Android Studio
  3. Sau khi được đồng bộ hóa, bạn có thể kiểm tra lại tùy chọn để làm việc ngoại tuyến.
0

Hãy thử itext.Thêm phụ thuộc vào build.gradle của bạn cho mới nhất của bài viết này

Lưu ý: Phiên bản đặc biệt dành cho android, trailing "g":

dependencies { 
    compile 'com.itextpdf:itextg:5.5.9' 
} 
2

Cập nhật trả lời

Những câu trả lời mà nói về Maven Trung ương là kể từ khi Android Studio sử dụng JCenter làm trung tâm lưu trữ mặc định ngay bây giờ. tập tin build.gradle của dự án của bạn nên có một cái gì đó như thế này:

repositories { 
    jcenter() 
} 

Vì vậy, chừng nào các nhà phát triển có kho Maven của họ ở đó (mà Picasso làm), sau đó tất cả các bạn sẽ phải làm là thêm một dòng duy nhất để các phần phụ thuộc của tệp build.gradle của ứng dụng.

dependencies { 
    // ... 
    compile 'com.squareup.picasso:picasso:2.5.2' 
} 

Android Studio 3.0

Với Android Studio 3.0 này sẽ trông giống như sau:

Dự án build.gradle

repositories { 
    google() 
    jcenter() 
} 

ứng dụng build.gradle

dependencies { 
    // ... 
    implementation 'com.squareup.picasso:picasso:2.5.2' 
} 
Các vấn đề liên quan