add maven repository to build.gradle

混江龙づ霸主 提交于 2019-11-26 11:54:54

问题


I added a custom maven repository to build.gradle in Android Studio but the dependency is not being found

Maven repository and dependency

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

Error message in 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

What am I missing in build.gradle?


回答1:


You will need to define the repository outside of buildscript. The buildscript configuration block only sets up the repositories and dependencies for the classpath of your build script but not your application.




回答2:


After

apply plugin: 'com.android.application'

You should add this:

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

@Benjamin explained the reason.

If you have a maven with authentication you can use:

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

It is important the order.




回答3:


Android Studio Users:

If you want to use grade, go to http://search.maven.org/ and search for your maven repo. Then, click on the "latest version" and in the details page on the bottom left you will see "Gradle" where you can then copy/paste that link into your app's build.gradle.




回答4:


You have to add repositories to your build file. For maven repositories you have to prefix repository name with maven{}

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



回答5:


Add the maven repository outside the buildscript configuration block of your main build.gradle file as follows:

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

Make sure that you add them after the following:

apply plugin: 'com.android.application'


来源:https://stackoverflow.com/questions/20574111/add-maven-repository-to-build-gradle

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!