I have got a project with app module and a library module. The app module can import library module properly. But the weird thing happens when I tried to get dependencies inside library module by declaring repository inside it. The repository closure in library module doesn't work at all, which means I can't read aar from library libs folder or get dependencies from the designated URL. Am I doing anything wrong?
project strucutre:
->App
->libs
->src
->LibraryModule
->libs // aar placed here
->src
build.gradle in library module:
plugins {
id 'com.android.library'
id 'kotlin-android'
}
repositories {
maven { url "https://jitpack.io" } // can not find URL here
flatDir {
dirs 'libs'. // can not find libs folder in library module
}
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
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 "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
Implementation(name: 'testing', ext: 'aar') // Not working because libs folder in library module can not be found.
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
Have you declared your library module in
settings.gradle
file? The file is located in the root of your project and you need to add the library there. you can check this link too