'Updated to Android Studio Arctic Fox and now I am stuck with "Execution failed for task ':app:kaptDebugKotlin'"
Just updated to Android Studio Arctic Fox on Mac, and after fixing and updating all Gradle settings to make it compatible with Gradle 7.0 and anything this new version has required me to do, I am now stuck with this error when building my project:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
For reference, here is my Project Gradle file:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
kotlin_version = "1.5.21"
version_navigation = "2.3.5"
version_lifecycle_extensions = "2.2.0"
version_lifecycle = "2.3.1"
version_room = "2.4.0-alpha04"
//version_room = "2.2.6"
version_coroutine = "1.5.0"
version_retrofit = "2.9.0"
version_moshi = "1.9.3"
version_retrofit_coroutines_adapter = "0.9.2"
version_glide = "4.12.0"
}
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
classpath 'com.android.support:multidex:1.0.3'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$version_navigation"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
And here is my Module Gradle file:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id "org.jetbrains.kotlin.kapt"
//id 'androidx.navigation.safeargs'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.virtualsheetmusic.vsheetmusic"
minSdkVersion 21
targetSdkVersion 30
versionCode 20
versionName "2.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
//dataBinding includes viewBidning below https://stackoverflow.com/questions/58040778/android-difference-between-databinding-and-viewbinding
dataBinding true
// for view binding only:
// viewBinding true
}
}
dependencies {
//implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
//implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
//implementation "org.jetbrains.kotlin:kotlin-android-extensions-runtime:$kotlin_version"
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation "androidx.fragment:fragment-ktx:1.3.6"
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation 'com.jakewharton.timber:timber:4.7.1'
//Lifecycle and LiveData
implementation "androidx.lifecycle:lifecycle-extensions:$version_lifecycle_extensions"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$version_lifecycle"
//Room
implementation "androidx.room:room-runtime:$version_room"
kapt "androidx.room:room-compiler:$version_room"//annotationProcessor
// Kotlin Extensions and Coroutines support for Room
implementation "androidx.room:room-ktx:$version_room"
// Coroutines
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version_coroutine"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version_coroutine"
// Testing
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
//For Internet connectiona and JSON stuff...
// Moshi
implementation "com.squareup.moshi:moshi:$version_moshi"
implementation "com.squareup.moshi:moshi-kotlin:$version_moshi"
// Retrofit
implementation "com.squareup.retrofit2:retrofit:$version_retrofit"
//implementation "com.squareup.retrofit2:converter-scalars:$version_retrofit"
// Retrofit with Moshi Converter
implementation "com.squareup.retrofit2:converter-moshi:$version_retrofit"
implementation "com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:$version_retrofit_coroutines_adapter"
//Glide
implementation "com.github.bumptech.glide:glide:$version_glide"
kapt "com.github.bumptech.glide:compiler:$version_glide"
//Recyclerview swipe-refresh...
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
//For PDF and download management from here: https://blog.mindorks.com/how-to-open-a-pdf-file-in-android-programmatically
//https://github.com/barteksc/AndroidPdfViewer
//implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
//implementation 'com.mindorks.android:prdownloader:0.6.0'
//This below to handle double clicks...
//implementation 'com.gitlab.developerdeveloperdeveloper:androidutilslibrary:1.0.0'
}
I have also tried to debug the problem by using the command line and executing "./gradlew clean build" and here is the output I get:
> Configure project :app
Warning: The 'kotlin-android-extensions' Gradle plugin is deprecated. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' plugin.
> Task :app:stripDebugDebugSymbols
Unable to strip the following libraries, packaging them as they are: libc++_shared.so, libjniPdfium.so, libmodft2.so, libmodpdfium.so, libmodpng.so.
> Task :app:stripReleaseDebugSymbols
Unable to strip the following libraries, packaging them as they are: libc++_shared.so, libjniPdfium.so, libmodft2.so, libmodpdfium.so, libmodpng.so.
> Task :app:extractReleaseNativeSymbolTables
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips/libmodpng.so because unable to locate the objcopy executable for the mips ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips/libmodft2.so because unable to locate the objcopy executable for the mips ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips/libc++_shared.so because unable to locate the objcopy executable for the mips ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips/libmodpdfium.so because unable to locate the objcopy executable for the mips ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips/libjniPdfium.so because unable to locate the objcopy executable for the mips ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/armeabi-v7a/libmodpng.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/armeabi-v7a/libmodft2.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/armeabi-v7a/libc++_shared.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/armeabi-v7a/libmodpdfium.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/armeabi-v7a/libjniPdfium.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips64/libmodpng.so because unable to locate the objcopy executable for the mips64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips64/libmodft2.so because unable to locate the objcopy executable for the mips64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips64/libc++_shared.so because unable to locate the objcopy executable for the mips64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips64/libmodpdfium.so because unable to locate the objcopy executable for the mips64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/mips64/libjniPdfium.so because unable to locate the objcopy executable for the mips64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86/libmodpng.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86/libmodft2.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86/libc++_shared.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86/libmodpdfium.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86/libjniPdfium.so because unable to locate the objcopy executable for the x86 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/arm64-v8a/libmodpng.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/arm64-v8a/libmodft2.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/arm64-v8a/libc++_shared.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/arm64-v8a/libmodpdfium.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/arm64-v8a/libjniPdfium.so because unable to locate the objcopy executable for the arm64-v8a ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86_64/libmodpng.so because unable to locate the objcopy executable for the x86_64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86_64/libmodft2.so because unable to locate the objcopy executable for the x86_64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86_64/libc++_shared.so because unable to locate the objcopy executable for the x86_64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86_64/libmodpdfium.so because unable to locate the objcopy executable for the x86_64 ABI.
Unable to extract native debug metadata from /Volumes/DocumentsNew/Users/fabrizio/AndroidStudioProjects/VSheetMusic/app/build/intermediates/merged_native_libs/release/out/lib/x86_64/libjniPdfium.so because unable to locate the objcopy executable for the x86_64 ABI.
> Task :app:kaptDebugKotlin FAILED
> Task :app:kaptReleaseKotlin FAILED
FAILURE: Build completed with 2 failures.
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:kaptReleaseKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.1.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 15s
69 actionable tasks: 68 executed, 1 up-to-date
I have already spent hours figuring this out, so, please, if you have any thoughts, let me know!
Thanks to everyone in advance.
Solution 1:[1]
Problem solved guys. After some more research and using the command line to build in order to have more debug information (I used ./gradlew clean build --stacktrace), I found that something was wring with Kapt and JDK 16 as explained here:
https://youtrack.jetbrains.com/issue/KT-45545
I followed the suggestion over there by adding:
org.gradle.jvmargs=--illegal-access=permit
To gradle.properties file, and that fixed the problem!
Solution 2:[2]
I had the same issue on my Mac M1. The problem was coming from the use of room :
implementation "androidx.room:room-runtime:2.3.0"
kapt "org.xerial:sqlite-jdbc:3.34.0"
kapt "androidx.room:room-compiler:2.3.0"
implementation "androidx.room:room-ktx:2.3.0"
I found a workaround here: https://youtrack.jetbrains.com/issue/DBE-12342 you have to add this in your build.gradle to add the JDBC driver:
kapt "org.xerial:sqlite-jdbc:3.34.0"
Solution 3:[3]
Set the NDK version, in order to "extract native debug metadata":
android {
ndkVersion '21.3.6528147'
compileSdk 32
...
}
Solution 4:[4]
Just update your kotlin dependency version in project level gradle.
Solution 5:[5]
After trying different approaches, i figured it out that you need to add google() and mavenCentral() repositories for all projects in your build.gradle file {the file in Project and not in Module}.
add this to build.gradle file under Project then sync your project
allprojects {
repositories {
google()
mavenCentral()
}
}
Solution 6:[6]
For me to get rid of that bug, just to be able to see real problems while compiling, the solution was to change VERSION_1_8
to VERSION_11
:
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
inside android
block
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Fabrizio Ferrari |
Solution 2 | Badr Yousfi |
Solution 3 | Martin Zeitler |
Solution 4 | Deepak Vajpayee |
Solution 5 | user827698 |
Solution 6 |