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?

André Ricardo
sumber

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.

Benjamin Muschko
sumber
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.

Gabriele Mariotti
sumber
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

Mikro
sumber
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()
}
Marcin Szymczak
sumber
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'
Kasumi Gunasekara
sumber