简体   繁体   中英

Android Repository not working in library module

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM