简体   繁体   English

Android 存储库在库模块中不起作用

[英]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. app模块可以正确导入库模块。 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. library 模块中的存储库关闭根本不起作用,这意味着我无法从 library libs 文件夹中读取 aar 或从指定的 URL 获取依赖项。 Am I doing anything wrong?我做错什么了吗?

project strucutre:项目结构:

->App
  ->libs
  ->src
->LibraryModule
  ->libs // aar placed here
  ->src

build.gradle in library module:库模块中的 build.gradle:

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?您是否在settings.gradle文件中声明了您的库模块? The file is located in the root of your project and you need to add the library there.该文件位于项目的根目录中,您需要在其中添加库。 you can check this link too你也可以检查这个链接

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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