如何为Module项目手动引入外部AAR包?
解决Module独立引入自身目录AAR的问题
你的问题核心是仓库配置放错了位置:buildscript块里的repositories是给构建脚本本身用的(比如加载Gradle插件),根本不会用来解析项目依赖,所以Gradle才会去主项目目录找AAR。按下面的步骤修改即可:
1. 修正仓库配置位置
把flatDir仓库配置从buildscript块中移出,放到Module的build.gradle顶级位置(和android、dependencies同级),并且用file('libs')明确指定当前Module的libs目录,避免和主项目路径混淆:
plugins { id 'com.android.library' id 'maven-publish' } android { // 保留你原有的Android配置,比如compileSdk、defaultConfig等 } // 这里是依赖解析用的仓库配置 repositories { google() mavenCentral() flatDir { dirs file('libs') // 明确指向当前Module下的libs文件夹 } } dependencies { // 保留你其他依赖,加上AAR的依赖 implementation(name: 'arrName-1.0.1', ext: 'aar') }
2. 校验文件名和拼写
确认你Module的libs文件夹里的AAR文件名是arrName-1.0.1.aar,注意不要把aar写成arr(你代码里写的是arrName,检查下是不是文件名打错了),大小写也要完全匹配。
3. 清理重建
修改完配置后,执行./gradlew clean(Windows系统用gradlew clean),再重新构建项目,就能正确加载Module自身libs里的AAR了。
内容的提问来源于stack exchange,提问作者Chief Madog
相关产品推荐
相关产品推荐

