thêm kho lưu trữ maven vào build.gradle


118

Tôi đã thêm kho lưu trữ maven tùy chỉnh vào build.gradle trong Android Studio nhưng không tìm thấy phần phụ thuộc

Kho lưu trữ Maven và sự phụ thuộc

<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')
    }
}

Thông báo lỗi trong 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

Tôi còn thiếu gì trong build.gradle?

Câu trả lời:


88

Bạn sẽ cần phải xác định kho lưu trữ bên ngoài buildscript. Khối buildscriptcấu hình chỉ thiết lập kho lưu trữ và phụ thuộc cho đường dẫn phân nhánh của tập lệnh xây dựng chứ không thiết lập ứng dụng của bạn.


điều này đã sắp xếp phần phụ thuộc, nhưng Android Studio không tải lại các kho lưu trữ, vì vậy "import org.achartengine.chart. *;" không thành công, bạn có biết làm thế nào để "làm mới" các kho lưu trữ?
André Ricardo

3
Rất quan trọng để làm theo. Lãng phí 15 phút trên một này
Nitin Bansal

cả bên trong và bên ngoài buildscript repositoriescó cùng một kho lưu trữ từ xa không?
R.Abedi

158

Sau

apply plugin: 'com.android.application'

Bạn nên thêm điều này:

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

@Benjamin giải thích lý do.

Nếu bạn có maven có xác thực, bạn có thể sử dụng:

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

Điều quan trọng là thứ tự.


6
Làm cách nào để chúng tôi thêm xác thực đám mây vào tệp gradle?
inder

Tôi làm cách nào để sửa đổi Android Studio để kho lưu trữ maven được thêm vào build.gradle theo mặc định. Tôi tiếp tục quên điều này và phải tìm lại lý do tại sao các thư viện không tải.
Mike

36

Người dùng Android Studio:

Nếu bạn muốn sử dụng điểm, hãy truy cập http://search.maven.org/ và tìm kiếm kho maven của bạn. Sau đó, nhấp vào "phiên bản mới nhất" và trong trang chi tiết ở dưới cùng bên trái, bạn sẽ thấy "Gradle", nơi bạn có thể sao chép / dán liên kết đó vào build.gradle của ứng dụng.

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


1
Bạn đã làm nên ngày của tôi, cảm ơn bạn rất nhiều. Ngoài ra, tại sao điều này không có trong trang gh ZXing chính thức? Nó không nên quá khó để tìm ...
Nadia Castelli

8

Bạn phải thêm repositoriesvào tệp bản dựng của mình. Đối với kho lưu trữ maven, bạn phải đặt tiền tố tên kho lưu trữ bằngmaven{}

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

6

Thêm kho lưu trữ maven bên ngoài buildscriptkhối cấu hình của build.gradletệp chính của bạn như sau:

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

Đảm bảo rằng bạn thêm chúng sau những điều sau:

apply plugin: 'com.android.application'
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.