だから私は Android Studio の使用を開始し、自分のプロジェクトに番号ピッカー ライブラリを使用したいと考えました。具体的にはこれ:
https://github.com/SimonVT/android-numberpicker
これは Maven プロジェクトであり、私のプロジェクトは gradle ベースです。このプロジェクトをアプリで使用するには、それを gradle ライブラリ プロジェクトに変換する必要があります。簡単!か、そう思った…
ガイドとして次の記事を使用しました。
http://www.androidsx.com/how-to-link-an-android-library-project-with-gradle-in-android-studio/ http://ryanharter.com/blog/2013/07/17/ migrating-android-projects-to-gradle/
私のディレクトリ構造は次のとおりです。
android-numberpicker/
- android-numberpicker/
- src/
- main/
- res/
- java/
- build.gradle
- settings.gradle
- build.gradle
私のsettings.gradleファイル
include ':android-numberpicker'
私のbuild.gradleファイル:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.3'
}
}
apply plugin: 'android-reporting'
/**
* Task to generate a gradle wrapper.
*/
task wrapper(type: Wrapper) {
gradleVersion = '1.9'
}
私の android-numberpicker/build.gradle ファイルは次のようになります。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.3'
}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 15
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 15
}
}
今、私はそれを自分のプロジェクトや Android スタジオと統合しようとさえしていません。プロジェクトを独自に構築できるかどうかを確認したいだけです。言い換えれば、プロジェクトを正しくgradleに移植したかどうかを確認したかったのです。ただし、./gradlew build を実行すると (gradle ラッパーを使用しています)、次のような一連のエラーが発生します。
NumberPicker.java:48: error: cannot find symbol
import android.view.accessibility.AccessibilityNodeProvider;
^
なぜgradleがこれをしているのか分かりませんか?
元のプロジェクトの pom ファイルに次の依存関係があることに気付きました。
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
「android-library」プラグインがandroid sdkを自動的に解決すると思っていたので、最初は無視しました。ただし、上記のエラーが発生したとき、次のように android-numberpicker/build.gradle に追加することにしました。
dependencies {
compile "com.google.android:android:+"
}
android-library は提供されたものを有効なスコープとして認識しないように見えるため、コンパイルを使用しました。./gradlew build を実行すると、別のエラーが発生しました。
エラー: デバッグは Android API レベル 15 に間接的に依存していますが、バリアント 'debug' の minSdkVersion は API レベル 7 です
繰り返しますが、なぜこのエラーが発生するのかよくわかりません。この問題に関しては、レンガの壁に到達しました。どんな助けでも大歓迎です。
乾杯