何よりもまず、この質問の存在を認識しています - 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.gradle
Guavaの「正しい」を見つけるために、グーグルで検索しました。
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 行のコードを書かずにマップを値で並べ替えることができるようにするにはどうすればよいですか? ? :)
私の質問がおしゃべりな口調で申し訳ありません。私はこのあたりのドリルを知っています。それは私の欲求不満を解消する私の方法です.
同様の問題に取り組んだ質問と回答に対してどれだけ多くの票が投じられたかから判断すると、さらに詳しい指示があると助かるのは私だけではないと確信しています。私はすぐに報奨金を開始しますが、ルールにより禁止されています。