mavenリポジトリをbuild.gradleに追加する


118

Android Studioでbuild.gradleにカスタムMavenリポジトリを追加しましたが、依存関係が見つかりません

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には何が欠けていますか?

回答:


88

の外部でリポジトリを定義する必要がありますbuildscriptbuildscript構成ブロックは、あなたのビルドスクリプトのクラスパスではなく、アプリケーションのリポジトリとの依存関係を設定します。


これにより依存関係がソートされましたが、Android Studioはリポジトリを再ロードしなかったため、「import org.achartengine.chart。*;」となります。失敗しました。リポジトリを「更新」する方法を知っていますか?
アンドレリカルド

3
フォローすることが非常に重要です。15分無駄にした
Nitin Bansal

内部と外部の両方buildscript repositoriesが同じリモートリポジトリを持つ必要がありますか?
R.Abedi

158

apply plugin: 'com.android.application'

これを追加する必要があります:

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

@Benjaminが理由を説明しました。

認証を備えたMavenを使用している場合は、以下を使用できます。

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

順序が重要です。


6
gradleファイルにcloudbees認証をどのように追加しますか?
2014

Mavenリポジトリーがデフォルトでbuild.gradleに追加されるようにAndroid Studioを変更するにはどうすればよいですか。私はこれを忘れ続け、ライブラリがロードされない理由を再発見する必要があります。
Mike

36

Android Studioユーザー:

gradeを使用する場合は、http: //search.maven.org/ にアクセスして、mavenリポジトリーを検索してください。次に、「最新バージョン」をクリックすると、左下の詳細ページに「Gradle」が表示され、そのリンクをコピーしてアプリのbuild.gradleに貼り付けることができます。

ここに画像の説明を入力してください


1
あなたは私の一日を作りました、ありがとうございました。また、なぜこれが公式のZXing ghページにないのですか?それを見つけるのはそれほど難しいことではありません...
ナディアカステッリ

8

repositoriesビルドファイルに追加する必要があります。Mavenリポジトリの場合、リポジトリ名の前にプレフィックスを付ける必要がありますmaven{}

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

6

次のようbuildscriptに、メインbuild.gradleファイルの構成ブロックの外側にmavenリポジトリを追加します。

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.