I have an AAR file that use dependencies like "Glide", when building AAR file and use it in another android project it works fine until open the fragment which use Glide and this error appears "java.lang.NoClassDefFoundError: Failed resolution of: Lcom/bumptech/glide/Glide;"
I tried to use the following task but it didn't solved anything
task copyLibs(type: Copy) {
from configurations.compile
into 'libs'
}
this is my library build.gradle file
plugins {
id("com.android.library")
id("kotlin-android")
id("kotlin-kapt")
}
android {
namespace = "com.brightskiesinc.mangmapp"
compileSdk = 34
packagingOptions {
pickFirst("$project.rootDir/build/outputs/aar/**")
}
defaultConfig {
minSdk = 21
targetSdk = 34
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildFeatures {
viewBinding = 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"
}
}
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1")
def lifecycle_version = "2.6.2"
implementation("androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
implementation("com.google.android.material:material:1.10.0")
implementation("androidx.lifecycle:lifecycle-extensions:2.2.0")
def nav_version = "2.7.5"
// Kotlin
implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")
implementation("androidx.navigation:navigation-ui-ktx:$nav_version")
// dagger 2
def daggerVersion = "2.49"
implementation("com.google.dagger:dagger-android:$daggerVersion")
kapt("com.google.dagger:dagger-compiler:$daggerVersion")
kapt("com.google.dagger:dagger-android-processor:$daggerVersion")
implementation('com.github.bumptech.glide:glide:4.16.0')
implementation("com.github.PhilJay:MPAndroidChart:v3.1.0")
}
configurations.implementation.setCanBeResolved(true)
configurations.api.setCanBeResolved(true)
tasks.register('copyLibs', Copy) {
from configurations.implementation
into 'libs'
}
tasks.named("build") {
dependsOn("copyLibs")
}
What is wrong?