1

だから私は 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 です

繰り返しますが、なぜこのエラーが発生するのかよくわかりません。この問題に関しては、レンガの壁に到達しました。どんな助けでも大歓迎です。

乾杯

4

2 に答える 2