Android Studio / IntelliJにMaven依存関係をインポートする方法は?


92

Android Studioのデフォルトウィザードを使用して、新しいAndroidプロジェクトを作成しました。アプリをコンパイルしてデバイスにデプロイしました。すべては順調です。

次に、Mavenで使用可能な外部ライブラリをインポートします。(http://square.github.io/picasso/)。モジュールのプロパティに行き、Mavenライブラリを追加しました。依存関係のリストに正しく表示されます。また、エディターに表示され、コードで正しく使用できます。

しかし、コンパイル時にGradleエラーが発生します:クラスが見つかりません

何か案は?

回答:


71

バージョン0.8.9以降、Android StudioはデフォルトでMaven Central Repositoryをサポートしています。したがって、外部Maven依存関係を追加するには、モジュールのbuild.gradleファイルを編集して、次のように依存関係セクションに行を挿入するだけです。

dependencies {

    // Remote binary dependency
    compile 'net.schmizz:sshj:0.10.0'

}

「今すぐ同期...」のようなメッセージが表示されます。それをクリックして、Mavenリポジトリがすべての依存関係とともにダウンロードされるのを待ちます。下部のステータスバーに、ダウンロードに関して何が起こっているかを示すメッセージが表示されます。これが完了すると、インポートされたJARファイルとその依存関係が、以下に示すように、プロジェクトブラウザウィンドウの[外部リポジトリ]ツリーに一覧表示されます。

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

ここでいくつかの詳細な説明:http : //developer.android.com/sdk/installing/studio-build.html


6
なしでは機能しません:リポジトリ{mavenCentral()}
Johannes、

1
時々、依存関係で単純に使用できない、外部で追加するとワークアウト、ここでサンプルが得られる...リポジトリ{maven {url ' oss.sonatype.org/content/repositories/ksoap2-android-releases '}} ...コンパイル 'com.google .code.ksoap2-アンドロイド:ksoap2-アンドロイド:3.6.0'
Nandha

81

例として、springframework androidアーティファクトを使用しています

build.gradleを開く

次に、プラグイン適用するのと同じレベルで以下を追加します: 'android'

apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
   compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE'
}

Mavenアーティファクトにもこの表記を使用できます

compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'

IDEが表示されない場合は、「外部ライブラリ」の下にjarとその依存関係を表示する必要があります。IDEを再起動してみてください(これはかなり起こりました)。

これはあなたが提供した例であり、うまくいきます

buildscript { 
    repositories { 
        maven { 
            url 'repo1.maven.org/maven2'; 
        } 
    } 
    dependencies { 
        classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies { 
    compile files('libs/android-support-v4.jar') 
    compile group:'com.squareup.picasso', name:'picasso', version:'1.0.1' 
} 
android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 
    defaultConfig { 
        minSdkVersion 14 
        targetSdkVersion 17 
    } 
} 

1
私はそれを試しました、これが私のbuild.gradleファイルです: `` `buildscript {repositories {revenories {maven {url ' repo1.maven.org/maven2 '}} dependency {classpath 'com.android.tools.build:gradle:0.4'}}適用プラグイン: 'android'依存関係{compile files( 'libs / android-support-v4.jar')compile group: 'com.squareup.picasso'、name: 'picasso'、version: '1.0.1'} android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig {minSdkVersion 14 targetSdkVersion 17}} `` `エラー:com.squareup.picasso:picasso:1.0.1が見つかりませんでした。
munkay

1
@munkay私はあなたのコメントに一致する修正されたbuild.gradleで回答を更新しました
user1568967

18
重要な部分はIDEの再起動です。このバージョンのIntelliJは変更を反映していません。
Jimmy2Times 2013年

はい、再起動後はすべて問題ありません。
2013年

1
「重要な部分はIDEを再起動しています」。ああ、神様。これは2016年ですが、そうです、Jimmy2Timesに感謝します。
Guy Moreillon、2016年

6

Android Studio 3

現在、Android StudioはJCenterをデフォルトのリポジトリセンターとして使用しているため、Maven Centralについての回答には日付が付けられています。プロジェクトのbuild.gradleファイルは次のようになります。

repositories {
    google()
    jcenter()
}

開発者がMavenリポジトリを持っている限り(ピカソが行う)、必要なのは、アプリのbuild.gradleファイルの依存関係セクションに1行追加することだけです。

dependencies {
    // ...
    implementation 'com.squareup.picasso:picasso:2.5.2'
}

4
  1. File> Settings> Gradle> Global Gradle Settingsで「Offline work」のチェックを外します
  2. Android Studioを再起動するなどして、プロジェクトを再同期します。
  3. 同期したら、オプションを再度オンにしてオフラインで作業できます。

0

お試しくださいitextbuild.gradleこの投稿の最新の依存関係をに追加してください

注:Androidの特別バージョン、末尾に「g」:

dependencies {
    compile 'com.itextpdf:itextg:5.5.9'
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.