วิธีการนำเข้า Maven dependency ใน Android Studio / IntelliJ


92

ฉันได้สร้างโครงการ Android ใหม่โดยใช้วิซาร์ดเริ่มต้นใน Android Studio รวบรวมและทำให้แอปใช้งานได้กับอุปกรณ์ของฉัน ทั้งหมดเป็นอย่างดี.

ตอนนี้ฉันต้องการนำเข้าไลบรารีภายนอกที่มีอยู่ใน Maven ( http://square.github.io/picasso/ ) ฉันไปที่คุณสมบัติโมดูลและเพิ่มไลบรารี Maven แสดงอย่างถูกต้องในรายการการอ้างอิง นอกจากนี้ยังปรากฏในตัวแก้ไขและฉันสามารถใช้ในโค้ดได้อย่างถูกต้อง

อย่างไรก็ตามในขณะคอมไพล์ฉันได้รับข้อผิดพลาด Gradle: ไม่พบคลาส

ความคิดใด ๆ ?

คำตอบ:


72

สำหรับเวอร์ชัน 0.8.9 Android Studio รองรับ Maven Central Repository ตามค่าเริ่มต้น ดังนั้นในการเพิ่มการพึ่งพา maven ภายนอกสิ่งที่คุณต้องทำคือแก้ไขไฟล์ build.gradle ของโมดูลและแทรกบรรทัดลงในส่วนการอ้างอิงดังนี้:

dependencies {

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

}

คุณจะเห็นข้อความปรากฏขึ้นเช่น 'Sync now ... ' - คลิกและรอให้ดาวน์โหลด maven repo พร้อมกับการอ้างอิงทั้งหมด จะมีข้อความบางส่วนในแถบสถานะที่ด้านล่างบอกคุณว่าเกิดอะไรขึ้นเกี่ยวกับการดาวน์โหลด หลังจากเสร็จสิ้นไฟล์ JAR ที่นำเข้าพร้อมกับการอ้างอิงจะแสดงรายการในโครงสร้างที่เก็บภายนอกในหน้าต่างเบราว์เซอร์โครงการดังที่แสดงด้านล่าง

ป้อนคำอธิบายภาพที่นี่

คำอธิบายเพิ่มเติมที่นี่: http://developer.android.com/sdk/installing/studio-build.html


6
ไม่ทำงานหากไม่มี: ที่เก็บ {mavenCentral ()}
Johannes

1
บางครั้งเราไม่สามารถใช้ในการอ้างอิงการเพิ่มภายนอกจะออกกำลังกายตัวอย่างที่นี่ ... ที่เก็บ {maven {url ' oss.sonatype.org/content/repositories/ksoap2-android-releases '}} ... compile 'com.google .code.ksoap2-android: ksoap2-android: 3.6.0 '
Nandha

81

ฉันใช้สิ่งประดิษฐ์หุ่นยนต์สปริงเฟรมเวิร์คเป็นตัวอย่าง

เปิด build.gradle

จากนั้นเพิ่มสิ่งต่อไปนี้ในระดับเดียวกับใช้ปลั๊กอิน: 'android'

apply plugin: 'android'

repositories {
    mavenCentral()
}

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

คุณยังสามารถใช้สัญกรณ์นี้สำหรับสิ่งประดิษฐ์ maven

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

IDE ของคุณควรแสดง jar และการอ้างอิงภายใต้ 'External Libraries' หากไม่ปรากฏขึ้นให้ลองรีสตาร์ท IDE (สิ่งนี้เกิดขึ้นกับฉันไม่น้อย)

นี่คือตัวอย่างที่คุณระบุว่าใช้งานได้จริง

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
ฉันลองแล้วนี่คือไฟล์ build.gradle ของฉัน: `` buildscript {ที่เก็บ {maven {url ' repo1.maven.org/maven2 '}} การอ้างอิง {classpath 'com.android.tools.build:gradle:0.4'}} ใช้ปลั๊กอิน: 'android' 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}} `` ข้อผิดพลาด: ไม่พบ com.squareup.picasso: picasso: 1.0.1
munkay

1
@munkay ฉันอัปเดตคำตอบด้วย build.gradle ที่แก้ไขแล้วซึ่งตรงกับความคิดเห็นของคุณ
user1568967

18
ส่วนสำคัญกำลังรีสตาร์ท IDE IntelliJ เวอร์ชันนี้ไม่ได้รับการเปลี่ยนแปลง
Jimmy2Times

ใช่หลังจากรีสตาร์ททุกอย่างเรียบร้อย
ไฟ

1
"ส่วนสำคัญกำลังรีสตาร์ท IDE" พระเจ้าช่วย. นี่คือปี 2016 ... แต่ใช่ขอบคุณ Jimmy2Times
Guy Moreillon

7

Android Studio 3

คำตอบที่พูดถึง Maven Central เป็นวันที่ตั้งแต่ Android Studio ใช้ JCenter เป็นศูนย์เก็บข้อมูลเริ่มต้นในขณะนี้ ไฟล์ build.gradle ของโปรเจ็กต์ของคุณควรมีลักษณะดังนี้:

repositories {
    google()
    jcenter()
}

ตราบใดที่นักพัฒนามีที่เก็บ Maven อยู่ที่นั่น (ซึ่ง Picasso มี) สิ่งที่คุณต้องทำคือเพิ่มบรรทัดเดียวในส่วนการอ้างอิงของไฟล์ build.gradle ของแอปของคุณ

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

4
  1. ยกเลิกการเลือก "งานออฟไลน์" ในไฟล์> การตั้งค่า> Gradle> Global Gradle Settings
  2. ซิงค์โปรเจ็กต์อีกครั้งเช่นโดยการรีสตาร์ท Android Studio
  3. เมื่อซิงค์แล้วคุณสามารถตรวจสอบตัวเลือกอีกครั้งเพื่อทำงานแบบออฟไลน์

0

ลองitext. เพิ่มการพึ่งพาของคุณbuild.gradleสำหรับล่าสุดในโพสต์นี้

หมายเหตุ: เวอร์ชันพิเศษสำหรับ Android ต่อท้าย "g":

dependencies {
    compile 'com.itextpdf:itextg:5.5.9'
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.