web-dev-qa-db-ja.com

Android Studio?でButterKnifeプラグインをセットアップする方法

プラグインButter Knifeをインストールする必要があります。どこからダウンロードできますか? .jarプラグインをダウンロードしました(ただし、必要なファイルではない場合)。インストールしましたが、「生成」オプションをクリックすると、butterknifeを使用するオプションが表示されません。ビデオチュートリアルに従って、ファイルGradleビルドを変更しました。次のようになりました。

apply plugin: 'Android-apt'
apply plugin: 'com.Android.application'


Android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId "calcursoedxleccion0.cal"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile "com.Android.support:appcompat-v7:$rootProject.ext.supportLibraryVersion"
    compile "com.Android.support:recyclerview-v7:$rootProject.ext.supportLibraryVersion"
    compile "com.Android.support:support-v4:$rootProject.ext.supportLibraryVersion"
    compile "com.Android.support:design:$rootProject.ext.supportLibraryVersion"

   // compile "com.jakewharton:butterknife:$rootProject.ext.butterKnifeVersion"
    compile "com.jakewharton:butterknife:$rootProject.ext.butterKnifeVersion"


   apt "com.jakewharton:butterknife-compiler:8.0.1"
}

そして

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.1.2'
        classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

ext{

    minSdkVersion = 16
    targetSdkVersion = 23
    compileSdkVersion = 23
    buildToolsVersion = '23.0.3'

    supportLibraryVersion = '23.3.0'
    butterKnifeVersion = '8.0.1'
}

同期するGradleはこのエラーを受け取ります:

「Android android-libraryまたはプラグインをプロジェクトに適用する必要があります」エラー(1.0)

私は何を間違えていますか?

10

ButterKnifeライブラリを使用する最も簡単な方法は、次の1行をモジュールレベルの_build.gradle_依存関係リストに追加することです。

_dependencies {
  implementation 'com.jakewharton:butterknife:7.0.1'
}
_

その後、プロジェクトを同期できます!

更新1

Jake the Whartonが前回使用してからライブラリを更新していることに気付きました!これで、2つの別々の場所に追加する必要があります。

project-level_build.gradle_ファイル:

_buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8'
  }
}
_

そして最後に、module-level_build.gradle_ファイルで:

_apply plugin: 'Android-apt'

Android {
  ...
}

dependencies {
   implementation 'com.jakewharton:butterknife:8.0.1'
   apt 'com.jakewharton:butterknife-compiler:8.0.1'
}
_

_apply plugin: 'Android-apt'_を_module-level_ _build.gradle_ファイルの先頭に追加することが重要です。ほとんどの場合、次のように最初の行の下にあります。

_apply plugin: 'com.Android.application'
apply plugin: 'Android-apt'
_

私はこれをテストしたばかりで、私のために働いています。幸運を!

更新2

Jake Whartonがライブラリのアップデートをリリースしました。それを使用するために必要なことは次のとおりです。

したがって、build.gradle (app-level)内で、次を依存関係に追加してください!

_dependencies {
   compile 'com.jakewharton:butterknife:8.8.1'
   annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
_

where to add これがお役に立てば幸いです!

更新3:

他のライブラリと競合して古いAPIレベルで動作させたい場合に備えて、これまでにリリースされたバージョンがあります

試してみると、今までSDKレベル15以上が必要な場合、私の場合はこれらのセットがSDK 15と最低限互換性があるため、動作させるためにバージョンで遊ぶ必要があります。

この場合、これらをモジュールアプリレベル_build.gradle_にのみ配置します。

_dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    implementation 'com.Android.support:appcompat-v7:24.2.1'
    implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'

    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
    implementation group: 'com.squareup.retrofit2', name: 'converter-gson', version: '2.3.0'

    implementation 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

    implementation 'io.reactivex:rxjava:1.1.6'
    implementation 'io.reactivex:rxandroid:1.2.1'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'

    implementation 'com.Android.support:recyclerview-v7:24.2.1'
}
_
45
Eenvincible

Android Studioでこれを行うには:

  1. モジュールを右クリックします
  2. 「モジュール設定を開く」をクリックします
  3. [依存関係]タブをクリックします
  4. 緑色のプラスアイコンをクリックします
  5. ドロップダウンリストから[ライブラリの依存関係]を選択します
  6. 検索フィールドに「butterknife」と入力し、検索ボタンをクリックします

ライブラリを選択した後、Android Studioはモジュールに依存関係を追加します。

Butterknifeは注釈処理を行うため、butterknifeのコンパイル文の直後に、これをモジュールのbuild.gradleに追加する必要があります。

annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

末尾のバージョン番号は、バターナイフのバージョンと一致する必要があります。

3
movAX13h