web-dev-qa-db-ja.com

Gradleを3.1.0にアップデートした後、「サードパーティのGradleプラグインが原因である可能性があります」と表示されるのはなぜですか?

Gradleをcom.Android.tools.build:gradle:3.1.0に更新した後、ログに次のように表示されます。

フォルダーE:\ WORK\App\car_Android\carapp\build\generated\source\kaptKotlin\devRelease

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

27
azsoftco

警告が表示される場合:

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

[ビルド]タブでは、Android Studio v3.1.x.の既知の問題のようです。
this レポートによると、Instant Appプロビジョニングに関連している可能性がありますが、実行/デバッグ構成からそれを削除しても問題は解決しないようです(少なくともインストールではそうではありません) AS v3.1.1の)。

投票してください this issue Android Studioチームがより多くの注意を払い、できればタイムリーに修正できるように。

23
Phileo99

これは、Kaptアノテーションプロセッサがこのディレクトリを使用してKotlinが生成したファイルを保存するために発生します。

ディレクトリは、ソースファイルをsrc/main/Javasrc/main/kotlinに分割できるのと同じ方法で、新しく生成されたソースセットです。

ただし、Android Gradleプラグインは、このディレクトリを生成されたソースセットとして認識しません。

ほとんどのサードパーティプロセッサが.Javaファイルを生成しているため、ほとんどの場合、これは完全に無害です。 Kaptはそれらをbuild/generated/source/kaptディレクトリに書き込みます。

2
Virco

これによると Android Studioの問題 、「Kaptの根本的な問題は、IDEA=が無効なパスにあることとしてそれらのフォルダーを登録することです。これはAPIの誤用です。」

2018年6月11日の時点で、これらのメッセージを再確認し、実際に有効なパスに関するメッセージを抑制する修正が行われています。

1
A. L. Flanagan

私のプロジェクトでうまくいきました! ->

Build.gradleプロジェクトは、次の画像のようになります。 enter image description here

注:Realmと一部のGoogleサービスを使用していない場合は、少し異なる場合があります

enter image description here

  • さあ、始めましょう-> Go to you build.gradleアプリ

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

  1. これをbuild.gradleの内部にコピーします。上に追加します-

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

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

2。今すぐ追加:

kapt {
    mapDiagnosticLocations = true
}
dataBinding {
    enabled = true
}

IntelliJ IDEAプラグインの改善Kotlin 1.2.30は、IntelliJ IDEA Kotlinプラグインに、パフォーマンスの改善、バグ修正、新しい検査と意図を含むさまざまな改善をもたらします。

一部のプロジェクトではこれが重要これをbuild.gradle-内にコピーします

 allprojects {
repositories {
    jcenter()
    google()
}

以下の画像のようになります

次に、dependencies {... //}build.gradle内に実装を追加する必要があります。

// 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. 構築する
  3. それでおしまい!

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

1
Cristofer

2つのフォルダーapp\build\generated\source\kaptKotlin\debugおよびapp\build\generated\source\kaptKotlin\release(「デバッグ」および「リリース」)を削除し、gradleに追加します。

kapt {
        mapDiagnosticLocations = true
    }

その後、プロジェクトは問題なく同期されます。

0
A Mo