เพิ่มที่เก็บ maven เพื่อ build.gradle


118

ฉันเพิ่มที่เก็บ maven แบบกำหนดเองให้กับ build.gradle ใน Android Studio แต่ไม่พบการอ้างอิง

พื้นที่เก็บข้อมูล Maven และการพึ่งพา

<repository>
    <id>achartengine</id>
    <name>Public AChartEngine repository</name>
    <url>https://repository-achartengine.forge.cloudbees.com/snapshot/</url>
</repository>

<dependency>
    <groupId>org.achartengine</groupId>
    <artifactId>achartengine</artifactId>
    <version>1.2.0</version>
</dependency>

build.gradle

buildscript {
    repositories {
        mavenCentral()
        maven {
            url "https://repository-achartengine.forge.cloudbees.com/snapshot/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile group: 'org.achartengine', name: 'achartengine', version: '1.2.0'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

ข้อความแสดงข้อผิดพลาดใน Android Studio:

A problem occurred configuring root project 'My-MobileAndroid'.
> Failed to notify project evaluation listener.
> Could not resolve all dependencies for configuration ':_DebugCompile'.
  > Could not find org.achartengine:achartengine:1.2.0.
    Required by:
        :My-MobileAndroid:unspecified

ฉันขาดอะไรไปใน build.gradle

คำตอบ:


89

buildscriptคุณจะต้องกำหนดที่อยู่นอกพื้นที่เก็บข้อมูลของ buildscriptบล็อกการกำหนดค่าเพียงตั้งค่าที่เก็บและการอ้างอิงสำหรับ classpath ของการสร้างสคริปต์ของคุณ แต่ไม่แอพลิเคชันของคุณ


สิ่งนี้จัดเรียงการอ้างอิง แต่ Android Studio ไม่ได้โหลดที่เก็บซ้ำดังนั้น "import org.achartengine.chart. *;" ล้มเหลวคุณรู้วิธี "รีเฟรช" ที่เก็บหรือไม่?
André Ricardo

3
Veryyyy สำคัญที่จะปฏิบัติตาม เสียเวลา 15 นาทีกับอันนี้
Nitin Bansal

ทั้งภายในและภายนอกควรbuildscript repositoriesมีที่เก็บระยะไกลเดียวกันหรือไม่
R.Abedi

159

หลังจาก

apply plugin: 'com.android.application'

คุณควรเพิ่มสิ่งนี้:

  repositories {
        mavenCentral()
        maven {
            url "https://repository-achartengine.forge.cloudbees.com/snapshot/"
        }
    }

@ เบนจามินอธิบายเหตุผล

หากคุณมี maven พร้อมการรับรองความถูกต้องคุณสามารถใช้:

repositories {
            mavenCentral()
            maven {
               credentials {
                   username xxx
                   password xxx
               }
               url    'http://mymaven/xxxx/repositories/releases/'
            }
}

เป็นสิ่งสำคัญในการสั่งซื้อ


6
เราจะเพิ่มการพิสูจน์ตัวตนของ Cloudbees ในไฟล์ gradle ได้อย่างไร?
เข้า

ฉันจะแก้ไข Android Studio เพื่อเพิ่มที่เก็บ maven ใน build.gradle ตามค่าเริ่มต้นได้อย่างไร ฉันลืมเรื่องนี้ไปเรื่อย ๆ และต้องค้นพบอีกครั้งว่าทำไมห้องสมุดถึงไม่โหลด
Mike

36

ผู้ใช้ Android Studio:

หากคุณต้องการใช้เกรดให้ไปที่http://search.maven.org/และค้นหา maven repo ของคุณ จากนั้นคลิกที่ "เวอร์ชันล่าสุด" และในหน้ารายละเอียดที่ด้านล่างซ้ายคุณจะเห็น "Gradle" ซึ่งคุณสามารถคัดลอก / วางลิงก์นั้นลงใน build.gradle ของแอปของคุณได้

ใส่คำอธิบายภาพที่นี่


1
คุณทำให้วันของฉันขอบคุณมาก เหตุใดจึงไม่อยู่ในหน้า ZXing gh อย่างเป็นทางการ ไม่น่าจะหายากขนาดนี้ ...
Nadia Castelli

8

คุณต้องเพิ่มลงrepositoriesในไฟล์บิลด์ของคุณ สำหรับที่เก็บ maven คุณต้องนำหน้าชื่อที่เก็บด้วยmaven{}

repositories {
  maven { url "http://maven.springframework.org/release" }
  maven { url "http://maven.restlet.org" }
  mavenCentral()
}

6

เพิ่มที่เก็บ maven นอกbuildscriptบล็อกคอนฟิกูเรชันของbuild.gradleไฟล์หลักของคุณดังนี้:

repositories {
        maven {
            url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases"
        }
    }

ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มหลังจากขั้นตอนต่อไปนี้:

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