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'
}
}
}
私はAndroid Studioを再起動して問題は解決しました。
[ファイル] - > [キャッシュの無効化]/[再起動] の順にクリックします。
Gradleファイルを変更するたびに、Android Studioを再起動する必要があります。そうしないと、問題が発生します。
これも試すことができます。
リポジトリを次のように並べ替えました。
mavenCentral()
maven { url 'https://jitpack.io' }
google()
jcenter()
このフォルダをクリアするには、ユーザーの 〜/ .gradle/caches を削除し、 app build folder を手動で削除してから、 cleanおよびrebuild を実行します。
何が私のために問題を修正しました:
3.1.0
に変更1.2.30
に変更4.4
に変更しました27.0.3
であり、27.0.3
に変更する必要があると言っていたので、ターゲットSDKも27
に変更しました。これを私のgradle.buildに追加しました:
kapt {
generateStubs = true
}
私はそれが役立つことを願っています
アンドロイドスタジオ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'
を使用するので追加する
kapt {
generateStubs = true
}
私にとって実際に役立ったのはこれを追加することです
kapt {
generateStubs = true
}
build.gradleに
これが私が従ったいくつかのステップです。私の場合は、問題が解決しました。
Androidをターゲットとしたプラットフォームモジュール 実験的マルチプラットフォームプロジェクト機能の更新により、Androidプラットフォームモジュールのサポートが導入されました。これらのモジュールはGradleビルドスクリプト内の対応するプラグインを適用する必要があり、共通モジュールからの共有コードを使用することができます。
apply plugin: 'com.Android.application'
apply plugin: 'kotlin-platform-Android'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-kapt'
// ...
// ...
Kaptの診断場所 現在のところ、Kotlinは、注釈処理中に発生したエラーを報告するため、生成された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"
プロジェクトをきれいにします
ビルドしてください
これらすべてを追加して、プロジェクトをクリーンアップし、ビルドしてください。これで終わりです。 :)これがうまくいくかどうか私に教えてください! (それがあなたのために働いていないならば、私は別の解決策であなたを助けます)
詳細情報: Androidサイト:)それが機能するかどうか教えてください! (うまくいかない場合は、より良い方法を見つける手助けをします)
あなたがdownVoteを与えた場合はその理由を説明してください
私の場合、上記の解決法のどれもが私の問題を解決しなかった、私はインスタントランについての言及なしで1.2.50 Kotlinバージョンを使っていた、そしてビルドはDaggerクラスを生成しなかった私の状況では、それは新しいKotlinのバージョンに関連した問題なので、私はバージョン1.2.41にダウングレードして、うまくいきました。ちなみに、私はその時点までたどり着きました。ビルド画面の表示切り替えを使用したからです。
1:表示切り替えを選択してプロジェクトをビルドする
2:あなたは正確に起こったことを見ることができるようになるでしょう
Stackoverflow question: Kotlin 1.2.50がbaseFeatureInfoDirを要求している
設定からインスタントランを削除してみてください、gradleは行ってもいいでしょう。
それは私のために働きました。
これが私が従ったいくつかのステップです、そしてそれは私の場合の問題を修正しました。
依存関係{classpath 'com.Android.tools.build:gradle:3.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ 1.2.31"}
きれいなプロジェクト。
最後にプロジェクトを再構築します。
apply plugin: 'kotlin-kapt'
を削除build.gradleにmavenCentral()
を追加します。
allprojects { repositories { mavenCentral() google() jcenter() } }
実は私も同じエラーに直面していました。 kotlinのバージョンを latest に更新しています。これであなたの問題は解決するかもしれません。
Instant App Provision
を削除することができなかった人のために別の答えを追加すると、それが再び現れ続けるので。
プロジェクトを手動でビルドします。./gradlew assembleDebug
これは修正プログラムですが、動作します(問題はおそらくAndroid Studioに関連しているため)。
Android Studioで Realm をkotlinと一緒に使用すると、この問題が発生しました。
解決するには、次の手順に従います。
プロジェクト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
}
アプリのbuild.gradle依存関係でkapt
の代わりにannotationProcessor
を使用してください。
Run -> Edit Configurations..
に行き、Instant App Provision
オプションを削除してください。
Android Studioの端末でこのコマンドを実行します。
gradlew assembleDebug
大丈夫です !
注意:「他社製Gradleプラグインが原因の可能性があります」というメッセージが再度表示される場合は、手順3と4をもう一度実行してください。
これは、Kaptアノテーションプロセッサがこのディレクトリを使用してKotlinが生成したファイルを保存するために起こります。 Androidは現在デフォルトでパスを認識しません。
Gradle 4.6以上でのオンデマンド設定:Gradle 4.6以上でAndroid Gradle Plugin 3.0.xまたは3.1.xを使用している場合は、予期しないビルドエラーを避けるためにオンデマンド設定を無効にする必要があります。 (Android Gradle Plugin 3.2.0以降を使用している場合は、設定をオンデマンドで無効にするための措置を講じる必要はありません。)
次に示すように、gradle.propertiesファイルで必要に応じて設定を無効にします。
org.gradle.configureondemand = false Android Studio設定でオンデマンド設定を無効にするには、[ファイル]> [設定]を選択します(Android Studio)。
Macの場合は[基本設定]をクリックし、左側のペインで[コンパイラ]カテゴリを選択して、[オンデマンドで設定]チェックボックスをオフにします。
Android Studio 3.2 Beta 1以降では、設定をオンデマンドで有効にするためのオプションは削除されました。下のリンクから既知の問題のセクションをお読みください。 ここにリンクの説明を入力してください
これは私が私の場合のためにこの問題をどのように解決するかいくつかのアプローチです:
まず最初に、プロジェクトビルド許可ファイルからAndroid許可プラグインのバージョンを更新してから、許可プロパティから許可バージョンを更新します。
最後に、プロジェクトビルドグレードファイルからkotlinのバージョン(必須)をkotlin_version = '1.2.30'以降に更新します。
今すぐあなたのプロジェクトをきれいにしてビルドしてみてください。問題は解決されるべきです。ビルド後に毎回ビルドし直すと再度問題が発生する可能性があるので、もう一度プロジェクトをクリーンアップしてからビルドします。