I recently updated from Android Studio 2.3 to 3.0, and kotlin 1.1.4
to 1.1.51
.
Now I'm seeing this message in my gradle console:
'kapt.generateStubs' is not used by the 'kotlin-kapt' plugin
I have this in my build.gradle
to get my project working with some libraries using annotation processing:
kapt { generateStubs = true }
Is the generateStubs
line no longer needed and is it safe to remove? Or is there another action I should take to remove the warning message above?
Use the latest version of Kotlin annotation processor put this line at top of your module's level build. gradle file As the message says, all you have to do is you have to enable Kotlin plugin before kotlin-kapt in app\build. gradle . The plugin contents of app\build.
What is KAPT used for? The answer to this is straight, it is used for annotation processing in Kotlin.
Using kapt with: generatestubs = true , in order to use libraries like dagger 2 or dbflow, makes accessing internal classes from unit tests impossible. Example project: https://goo.gl/5VxCG7 (remove kapt option in app's gradle in order to run tests without errors)
app: Original kapt is deprecated. Please add "apply plugin: 'kotlin-kapt'" to your build. gradle. How do I resolve this?
It is completely safe to remove kapt { generateStubs = true }
. It was originally used by kapt1
, which is deprecated now.
Some docs about kapt: https://kotlinlang.org/docs/reference/kapt.html
You should apply the kotlin-kapt plugin in your build.gradle file and remove the generateStubs = true
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With