tambahkan repositori maven ke build.gradle


118

Saya menambahkan repositori maven kustom ke build.gradle di Android Studio tetapi dependensinya tidak ditemukan

Repositori dan ketergantungan 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')
    }
}

Pesan kesalahan di 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

Apa yang saya lewatkan di build.gradle?

Jawaban:


88

Anda perlu menentukan repositori di luar buildscript. The buildscriptblok konfigurasi hanya set up repositori dan dependensi untuk classpath script membangun Anda tetapi tidak aplikasi Anda.


ini mengurutkan ketergantungan, tetapi Android Studio tidak memuat ulang repositori, jadi "import org.achartengine.chart. *;" gagal, apakah Anda tahu cara "menyegarkan" repositori?
André Ricardo

3
Sangat penting untuk diikuti. Membuang 15 menit untuk yang satu ini
Nitin Bansal

haruskah baik di dalam maupun di luar buildscript repositoriesmemiliki repositori jarak jauh yang sama?
R. Abedi

158

Setelah

apply plugin: 'com.android.application'

Anda harus menambahkan ini:

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

@Benjamin menjelaskan alasannya.

Jika Anda memiliki pakar dengan otentikasi, Anda dapat menggunakan:

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

Itu penting urutannya.


6
Bagaimana cara kami menambahkan otentikasi cloudbees di file gradle?
inder

Bagaimana saya bisa memodifikasi Android Studio sehingga repositori maven ditambahkan ke build.gradle secara default. Saya terus lupa tentang ini dan harus menemukan kembali mengapa perpustakaan tidak memuat.
Mike

36

Pengguna Android Studio:

Jika Anda ingin menggunakan nilai, buka http://search.maven.org/ dan cari repo maven Anda. Kemudian, klik "versi terbaru" dan di halaman detail di kiri bawah Anda akan melihat "Gradle" tempat Anda dapat menyalin / menempelkan link tersebut ke build.gradle aplikasi Anda.

masukkan deskripsi gambar di sini


1
Anda membuat hari saya, terima kasih banyak. Juga, mengapa ini tidak ada di halaman gh ZXing resmi? Seharusnya tidak terlalu sulit untuk menemukan ...
Nadia Castelli

8

Anda harus menambahkan repositorieske file build Anda. Untuk repositori maven Anda harus mengawali nama repositori denganmaven{}

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

6

Tambahkan repositori maven di luar buildscriptblok konfigurasi build.gradlefile utama Anda sebagai berikut:

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

Pastikan Anda menambahkannya setelah berikut ini:

apply plugin: 'com.android.application'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.