サードパーティのGradleプラグインが原因である可能性があります


132

Android Studio 3.1にアップデートした後、次のエラーメッセージが表示されました。

プロジェクトは正常に動作し、これはほとんど警告にすぎないので、私の質問は警告の意味は何ですか、どうすればそれを取り除くことができますか?

Gradleファイルの関連部分:

これは私のプロジェクトの build.gradle

buildscript {
    ext {
        kotlin_version = '1.2.31'
        anko_version = '0.10.4'
        room_version = '1.0.0'
        support_version = '27.1.0'
        firebase_version = '12.0.0'
        gms_version = '12.0.0'
    }

    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
    }
}

そして、これは私のアプリのbuild.gradleファイルです:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 27
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

1
issuetracker.google.com/issues/74537216この問題は、AS3.2に固定されている
エンジェルコ

Build> Rebuild Project私から働いた
Zohab Ali

回答:


143

この問題を解決するに Instant App Provisionは、「実行構成」から削除して、のみを残しGradle-Aware Makeます。

Run -> Edit Configurations..

ビルドが成功した後の実行/デバッグ構成

AndroidStudio 3.1、Gradleプラグイン3.1.0、Kotlinライブラリバージョンがあり1.2.30ます。


5
これは実際には機能しますが、なぜそれが起こっていたのか、そしてどのようにしてこの解決策にたどり着いたのかについての考えです。
2018年

59
何らかの理由で削除Instant App Provisionsした後は常にその場所に戻ります。
2018年

3
これによりインスタントランが無効になりますか?
Caleb_Allen

7
@Caleb_Allenいいえ、とにかく誰もインスタントランを使用していません。これは「インスタントアプリ」用であり、即時実行ではありません
Tim

4
これが再発し続ける人(@humazedなど)の場合、修正を見つけました。最初にRun > Edit Configurationsもう一度アクセスします。次にEdit Defaults、上部にあるレンチアイコンの付いたボタンをクリックして移動します。以前Android AppGradle-aware Make同じように選択して終了します。適用ヒット。
b_yng 2018

17

Android Studioを再起動すると問題は解消しました。

「ファイル」->「キャッシュの無効化/再起動」をクリックします

Gradleファイルを変更するたびに、Android Studioを再起動する必要があります。そうしないと、問題が再発します。

これを試すこともできます:

  1. リポジトリの並べ替え:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
  2. このフォルダーをクリアする:ユーザーの〜/ .gradle / cachesアプリビルドフォルダーを手動で削除し、クリーンアップして再ビルドします


しかし、アプリを起動する前にビルドするため、アプリを実行できません。
無限ループ

7

私の問題を修正したもの:

  • Gradleプラグインのバージョンを 3.1.0
  • Kotlinのバージョンを 1.2.30
  • その後、Android StudioはGradleラッパーをバージョンに変更しました 4.4
  • 次に、Android Studioは、使用されているビルドツールのバージョンは以前のもので27.0.3あり27.0.3、ターゲットSDKを次のように変更する必要があると言ってい ます。27
  • これをgradle.buildに追加しました:

    kapt {
         generateStubs = true
     }

それが役に立てば幸い


5

android studio v3.1.2でエラーが発生:

Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\debug
Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\release
3rd-party Gradle plug-ins may be the cause

dataBindingはapply plugin: 'kotlin-kapt'so addを使用するため

kapt {
    generateStubs = true
}
  1. Gradleプラグインのバージョンを3.1.2に変更
  2. Kotlinのバージョンを1.2.30に変更します
  3. その後、Android StudioはGradleラッパーをバージョン4.4に変更しました
  4. 次に、Androidスタジオは、使用されているビルドツールのバージョンが27.1.1であり、27.1.1に変更する必要があると言っていたため、ターゲットSDKも27に変更しました

5

ここに私が従ったいくつかのステップがあります。私の場合、それは問題を修正しました!

Androidをターゲットとするプラットフォームモジュール 実験的なマルチプラットフォームプロジェクト機能の更新により、Androidプラットフォームモジュールのサポートが導入されました。これらのモジュールは、Gradleビルドスクリプトの対応するプラグインを適用する必要があり、共通モジュールの共有コードを使用できます。

apply plugin: 'com.android.application'
apply plugin: 'kotlin-platform-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
// ...
// ...

Kapt診断の場所 現在、Kotlin注釈処理ツールであるkaptは、注釈処理中に発生したエラーを報告するため、生成されたJavaスタブではなく、元のKotlinコード内の場所へのリンクを提供できます。この機能を有効にするには、Gradleビルドスクリプト(build.gradle)に次の行を追加します。

kapt {
    mapDiagnosticLocations = true
}

これを追加:

allprojects {
        repositories {
            jcenter()
            google()
        }
    }

次を忘れないでください:

// Architecture Component - Room

     implementation "android.arch.persistence.room:runtime:1.1.0-beta1"
        kapt "android.arch.persistence.room:compiler:1.1.0-beta1"

      // Lifecyles, LiveData and ViewModel
    kapt 'com.android.databinding:compiler:3.1.0'


 // ViewModel and LiveData
    implementation "android.arch.lifecycle:extensions:1.1.1"

// alternatively, just ViewModel
    implementation "android.arch.lifecycle:viewmodel:1.1.1"

 // alternatively, just LiveData
     implementation "android.arch.lifecycle:livedata:1.1.1"
       kapt "android.arch.lifecycle:compiler:1.1.1"

 // Room (use 1.1.0-beta1 for latest beta)
    implementation "android.arch.persistence.room:runtime:1.0.0"
      kapt "android.arch.persistence.room:compiler:1.0.0"


// Paging
    implementation "android.arch.paging:runtime:1.0.0-alpha7"

        // Test helpers for LiveData
    testImplementation "android.arch.core:core-testing:1.1.1"

        // Test helpers for Room
 testImplementation "android.arch.persistence.room:testing:1.0.0"
  1. プロジェクトをきれいにする

  2. ビルドして、それだけです!

これをすべて追加し、プロジェクトをクリーンアップしてビルドすると、それだけです!:)これが機能するかどうか教えてください!(うまくいかない場合は、別の解決策をご案内します)

詳細情報: Androidサイト :)機能するかどうか教えてください!(うまくいかない場合は、より良い方法を見つけるお手伝いをします)

ダウン投票する場合は、その理由を説明してください


1
設定に行mapDiagnosticLocations = trueを追加するkaptことはうまくいきます-時々少なくとも:/
kuhnroyal

@kuhnroyalご意見をお待ちしております!良い一日をお過ごしください。私はより良い解決策を探し続けています
クリストファー


3

私の場合、上記の解決策のどれも私の問題を解決しませんでした、私はインスタントランに言及せずに1.2.50 Kotlinバージョンを使用していました、そしてビルドはDaggerクラスを生成していなかったので、明らかに私の問題を解決したこの質問を見つけました、 、私の状況では、それは新しいKotlinバージョンに関連する問題なので、バージョン1.2.41にダウングレードして問題なく動作しました。ちなみに、ビルド画面のビューの切り替えを使用したので、その時点まで追跡しました。

1:Toggle Viewを選択してプロジェクトをビルドする

ビューを切り替え

2:あなたは何が起こったのか正確に見ることができるでしょう

エラー

Stackoverflowの質問: Kotlin 1.2.50がbaseFeatureInfoDirを要求する

課題トラッカー:https : //issuetracker.google.com/issues/110198434



2

ここに私が従ったいくつかの手順があります、そしてそれは私の場合の問題を修正しました。

  1. まず、kotlinプラグインのバージョンを「1.2.31」にインストールし、build.gradleファイルで以下のように更新します。

依存関係{classpath 'com.android.tools.build:gradle:3.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ 1.2.31"}

  1. クリーンプロジェクト。

  2. 最後にプロジェクトをリビルドします。


1
  1. 削除する apply plugin: 'kotlin-kapt'
  2. 次のようmavenCentral()にbuild.gradleを追加します。

    allprojects { repositories { mavenCentral() google() jcenter() } }

  3. Sync and Cleanプロジェクト

0

これが私のケースでこの問題を修正する方法のいくつかです:

まず、プロジェクトビルドグラドルファイルからAndroid Gradleプラグインバージョンを更新し、次にGradleプロパティからグラドルバージョンを更新します。

最後に、kotlinのバージョン(必須)をプロジェクトビルドグラドルファイルからkotlin_version = '1.2.30'以降に更新します。

次に、プロジェクトをクリーンアップしてビルドします。問題を解決する必要があります。ビルド後に毎回再ビルドすると、おそらく問題が再び発生するので、プロジェクトを再度クリーンアップしてからビルドします。


0

これは、Kaptアノテーションプロセッサがこのディレクトリを使用してKotlinが生成したファイルを格納するために発生します。Androidは現在、デフォルトでパスを認識しません。

詳細を見る


0

削除できなかった人のために別の答えを追加するInstant App Provisionます。繰り返し表示されるためです。

プロジェクトを手動でビルドします。 ./gradlew assembleDebug

これは修正プログラムですが、機能します(問題はおそらくAndroid Studioに関連しているためです)。


0

Android StudioでKotlinとRealmを使用すると、この問題が発生しました。
解決するには、次の手順に従います。

  1. プロジェクトのbuild.gradleにRealmを追加したら、アプリのbuild.gradleファイルが次のようになっていることを確認します。

    apply plugin: 'com.android.application'  
    apply plugin: 'kotlin-android'  
    apply plugin: 'kotlin-android-extensions'  
    apply plugin: 'kotlin-kapt'  
    apply plugin: 'realm-android'  
    .  
    .  
    .  
    androidExtensions {  
    experimental = true
    }
  2. アプリのbuild.gradle依存関係のkapt代わりに使用annotationProcessorしてください。

  3. 移動しRun -> Edit Configurations..Instant App Provisionオプションを削除します。

  4. Android Studioのターミナルで次のコマンドを実行します。

    gradlew assembleDebug  
  5. 大丈夫です !

注:「サードパーティのGradleプラグインが原因である可能性があります」というメッセージが再度表示される場合は、手順3と4をもう一度実行します。


0

Gradle 4.6以降でのオンデマンド設定:Android Gradleプラグイン3.0.xまたは3.1.xをGradle 4.6以降で使用している場合、予期しないビルドエラーを回避するためにオンデマンド設定を無効にする必要があります。(Android Gradle Plugin 3.2.0以降を使用している場合は、オンデマンドで構成を無効にするためのアクションを実行する必要はありません。)

次に示すように、gradle.propertiesファイルでオンデマンドの構成を無効にします。

org.gradle.configureondemand = false Android Studio設定でオンデマンドの構成を無効にするには、[ファイル]> [設定](Android Studio

Macでの設定)、左側のペインでコンパイラカテゴリを選択し、(オンデマンドで構成)チェックボックスをオフにします。

Android Studio 3.2 Beta 1以降では、オンデマンドで構成を有効にするオプションが削除されました。以下のリンクから既知の問題のセクションをお読みください。 ここにリンクの説明を入力


0

実際、私も同じエラーに直面していました。私がしたことは、kotlinのバージョンを最新に更新することです。これで問題が解決する場合があります。


-4

まあ、私はそれが原因であることがわかりましapply plugin: 'kotlin-kapt'た。build.gradle(app)でこの行を削除すると、正常にビルドされます...

なぜこのプラグインがこれらの警告を引き起こすのか分かりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.