web-dev-qa-db-ja.com

GuavaをAndroid Studioプロジェクトに追加するにはどうすればよいですか?

何よりもまず、この質問の存在を認識しています。 Android Studioにライブラリプロジェクトを追加するにはどうすればよいですか? -残念ながら、それは私を助けませんでした。

私の目標はかなり単純です。 Android Studio Android(0.2.11)、およびコード内の Guavaライブラリ を使用してIDEアプリを作成したいと思います。

Gradleがわからない、Android Studioを使い始めたばかりで、Visual Studio/C#の背景が気に入らなかったため、謝罪します(そのミッキーマウスの世界では、通常、ライブラリ参照を追加してオフにしますあなたが行く)。

スクリーンショットで手順を文書化します。 this answer で与えられたアドバイスに従いました。

プロジェクトフォルダーの下にlibrariesフォルダーを作成しました。

enter image description here

Guavaリポジトリをそこにクローンしました。

enter image description here

ファイルが正常に表示されました。

enter image description here

_Project Structure_に行き、_Import Module_を選択しました。

enter image description here

enter image description here

_Create module from existing sources_を選択し、すべてのデフォルトの選択に同意しました。

_settings.gradle_ファイルを_include ':libraries:guava', ':Test'_に更新しました:

enter image description here

そして、_compile project(":libraries:guava")を含む_build.gradle_ファイル:

enter image description here

しかし、プロジェクトを再構築しようとするたびに得られるものは次のとおりです。

_Error: Gradle: A problem occurred configuring project ':Test'.
> Failed to notify project evaluation listener.
> Configuration with name 'default' not found.
_

guavaフォルダーに以下のように_build.gradle_を入れてみました:

_buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.Android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'Android-library'

dependencies {
    compile 'com.Android.support:support-v4:13.0.+'
}

Android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            Java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}
_

前述の答え が言うように)。

グアバの「正しい」_build.gradle_を見つけるために、私は上下にグーグルで検索しました。

https://code.google.com/p/guava-libraries/wiki/UseGuavaInYourBuild -私も助けにならなかった。

私はここでは説明しませんが無計画であるため無数のことを試しました-モジュールの依存関係を追加しようとしました、_Use auto-import_などで_Gradle settings_をオンにしようとしました.

私はそれが問題を解決する方法ではないことを知っており、Gradleの ユーザーガイド 1から5.4.2から7.3を熱心に読むことを約束しますが、これが目立たないものを達成するための本当に前提条件であるとは信じられませんライブラリをプロジェクトに追加するだけですか?必要に応じてあらゆる種類のものをいじり始めることができるデフォルトの_build.gradle_ファイルがないのはなぜですか?

そして実際の質問-ビルドし、実際にAndroidで実行するアプリ(Android Studio内)を作成するにはどうすればよいですかデバイスとその上でGuavaを使用できるため、50行のコードを記述せずに値でマップをソートできますか? :)

私の質問のおしゃべりなトーンについてすみません、私はここのまわりでドリルを知っています、それは私の欲求不満を発散するちょうど私の方法です。

同様の問題に取り組んだ質問と回答に対して何票が投じられたかを判断すると、私は、他の指示から利益を得る唯一の人ではないと確信しています。私はすぐに賞金を開始しますが、ルールは私を禁じています。

19
Konrad Morawski

安定したリリースバージョンのGuavaライブラリを使用するだけであれば、インポートは非​​常に簡単です。

build.gradleライブラリを使用するモジュールのファイル(つまりGuavaTestProject/GuavaTest/build.gradle)そして、直後

repositories {
    mavenCentral()
}

maven依存関係を追加します。

dependencies {
    compile group: 'com.google.guava', name: 'guava', version: '15.0'
}

必要に応じてプロジェクトを再構築し、それですべてです(Android Studio 0.2.13)で作成された新しいプロジェクトで今すぐテストされています)。

Guavaライブラリのソースコードを実際にインクルードし、Gravaビルドのモジュールとして自分でコンパイルする必要がある場合、GuavaはMavenでビルドされるため、GuavaビルドシステムをMavenからGradleに移動する必要があるため、まったく異なる問題です。それはあなたの目標にとって圧倒的に複雑だと思います。

デバッグ中にソースを参照したり表示したりするだけの場合は、次のようにします。

  • 別のフォルダーにGuavaソースコードをダウンロードします。

    git clone https://code.google.com/p/guava-libraries/
    git checkout v15.0
    
  • Android Studioがソースを見つけられない場合は、[ソースを添付]をクリックして、この代替の場所をポイントします。

Guavaのソースコードを実際に変更してコンパイルする必要がない場合、これが最も簡単なソリューションだと思います。

44
jlhuertas

それはあなたの質問にたくさんの情報です。私もGuavaを使用しています。しかし、私はこのトラブルを経験したことを覚えていません。

Guavamavencentralで利用可能です。したがって、グアバをプロジェクトに追加するのは非常に簡単です。知る限りでは、プロジェクトの依存関係をチェックアウト、ビルド、追加する必要はありません。

以下の私のアプリのgradleファイルを参照してください。

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.Android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'Android'

repositories {
     mavenCentral()
}

// Dependencies
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar') // jar files under the libs folder.
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' // actionbarsherlock,
    compile 'com.Android.support:support-v4:18.0.0' // Android support lib
    compile 'com.google.code.gson:gson:2.2.4' // google GSON
    compile 'com.google.guava:guava:14.0.1' // guava 14.0.1
}
9
Varun
dependencies {
  compile 'com.google.guava:guava:19.0'
}

ソース: https://github.com/google/guava

編集:v22の時点で、特定の Android用グアババージョン があります。

dependencies {
  compile 'com.google.guava:guava:22.0-Android'
}

*ありがとう、サム:)

9

完全なグアバライブラリを使用せず、Android固有のバージョンを使用し、

dependencies {
    compile 'com.google.guava:guava:23.0-Android'
}
5
Sam

In Android Studio 0.3.0これはMacで正常に動作するようになりました。ライブラリを追加する際の追加オプションについてはリリースノートを参照してください http://tools.Android.com/recent/androidstudio030released


私は現在Windowsで作業していますが、ライブラリのjarを右クリックしてライブラリに追加するか、F4を押してライブラリ設定を開くことができますので、Windowsでそれほど苦労する必要はないようですMacのように


これは私がやったことです。一貫して動作しないため、最後まで読んでください。最初に青い矢印が表示されない場合は、解決策があります。最初に、libsフォルダーを作成しました。私はこれが必要だとは思いませんが、それは習慣です。

enter image description here

最初に、ファイル、プロジェクト構造に移動してみてください。

左上に小さな青い矢印が表示されている場合は、それを押すと、ライブラリを追加できる画面に移動します

enter image description here

以下の画面にたどり着いた場合は、プラス記号を押してライブラリを追加してください。 enter image description here

また、グアバが電球とともに使用されていないことを示す赤い線が下部に表示される場合があります。この塗りつぶしは、Gradleビルドファイルに依存関係を追加します enter image description here

青い矢印が表示されない場合

代わりに、ファイル、その他の設定、デフォルトのプロジェクト構造に進みます。

その画面からライブラリを追加できます enter image description here

次に、プロジェクト構造に戻って追加します。問題は、すべてのプロジェクトのデフォルトとして残るため、プロジェクト構造メニューから個々のプロジェクトごとに追加および削除できることです。これがAndroid Studioのバグであるかどうかはわかりませんが、デフォルトを変更せずに個々のプロジェクトに追加することをブロックできるという事実です。

2
Ryan Heitner

Android Studio 3.2.1

[ファイル/プロジェクト構造]メニュー(ctrl + alt + shift + S)をクリックします。アプリメニューの[依存関係]タブで[+]ボタンを押して、Library依存関係を追加します。

Com.google.guava:guava :(最新の番号)を探して追加します。

Add Guava to Android Studio projectAdd Guava to Android Studio project