26

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

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

私は Gradle を知りません。私は Android Studio を使い始めたばかりで、Visual Studio/C# のバックグラウンドが私を馬鹿にしてしまいました。申し訳ありません (そのミッキー マウスの世界では、通常、ライブラリ参照を追加するだけですぐに使用できます)。

私の手順をスクリーンショットで記録します。私は主にこの回答で与えられたアドバイスに従いました。

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

ここに画像の説明を入力

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

ここに画像の説明を入力

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

ここに画像の説明を入力

に行ってProject Structure選びImport Moduleました。

ここに画像の説明を入力

ここに画像の説明を入力

すべてのデフォルトの選択肢を選択Create module from existing sourcesして同意しました。

settings.gradleファイルをinclude ':libraries:guava', ':Test'次のように更新しました。

ここに画像の説明を入力

そして私のbuild.gradleファイルcompile project(":libraries:guava")

ここに画像の説明を入力

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

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

build.gradle以下のようにguavaフォルダに入れてみました:

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.gradleGuavaの「正しい」を見つけるために、グーグルで検索しました。

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 行のコードを書かずにマップを値で並べ替えることができるようにするにはどうすればよいですか? ? :)

私の質問がおしゃべりな口調で申し訳ありません。私はこのあたりのドリルを知っています。それは私の欲求不満を解消する私の方法です.

同様の問題に取り組んだ質問と回答に対してどれだけ多くの票が投じられたかから判断すると、さらに詳しい指示があると助かるのは私だけではないと確信しています。私はすぐに報奨金を開始しますが、ルールにより禁止されています。

4

6 に答える 6

49

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 ライブラリのソース コードを含めて、Gradle ビルドのモジュールとして自分でコンパイルする必要がある場合、これはまったく別の問題です。Guava は Maven でビルドされているため、Guava ビルド システムを Maven から Gradle に移動する必要があるためです。これはあなたの目標にとって圧倒的に複雑だと思います。

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

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

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

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

于 2013-10-13T00:15:34.640 に答える
11
dependencies {
  compile 'com.google.guava:guava:19.0'
}

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

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

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

*ありがとうサム:)

于 2016-07-10T14:32:28.710 に答える
8

あなたの質問には多くの情報があります。私も使ってGuavaいます。しかし、私はこのトラブルを経験したことを覚えていません..

Guavaで利用できますmavencentral。したがって、グアバをプロジェクトに追加するのはかなり簡単です。私の知る限り、プロジェクトの依存関係などをチェックアウト、ビルド、追加する必要はありません..

以下の私のアプリの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
}
于 2013-10-07T21:11:29.207 に答える
2

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


私は現在 Windows で作業しており、2 つのオプションがあります libs の jar を右クリックすると、ライブラリに追加されます または、F4 を押してライブラリ設定を開くことができるので、Windows ではそれほど苦労する必要はないようですMacのように


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

ここに画像の説明を入力

最初に File 、 Project Structure に移動してみてください。

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

ここに画像の説明を入力

下のこの画面にたどり着いた場合は、プラス記号を押してライブラリを追加してください。 ここに画像の説明を入力

下部に赤い線が表示され、Guava が電球と一緒に使用されていないことを示している場合もあります。この塗りつぶしは依存関係を Gradle ビルド ファイルに追加します ここに画像の説明を入力

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

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

その画面から、ライブラリを追加できます ここに画像の説明を入力

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

于 2013-10-12T18:34:32.020 に答える