关于AndroidStudio添加本地aar依赖的坑

很多博客都是这么说的:

repositories {//添加一个本地仓库
    flatDir {
        dirs 'libs'
    }
}

dependencies {
	//依赖本地仓库中的aar
    implementation(name: 'miit_mdid_1.0.8', ext: 'aar')
}

但是有这样一种场景:

  • A moudle中依赖aar
  • B , C, D moudle 依赖 A moudle
  • app 依赖 B, C, D 三个moudle

那么分别需要在 app A B C D 5个moudle中添加本地仓库配置:

repositories {//添加一个本地仓库
    flatDir {
        dirs 'libs'
    }
}

其中不添加本地仓库报错如下:
关于AndroidStudio添加本地aar依赖的坑_第1张图片
这对于大多数项目都是非常痛苦的, 有一个更简单的方案:

  1. 在rootProject的build.gradle中, 修改如下配置:
    allprojects {
        repositories {
          google()
          jcenter()
          //在遍历工程下所有moudle时为所有moudle配置本地仓库
          flatDir {
          	  //rootProject.projectDir.getAbsolutePath()即项目根目录
          	  //需要在项目根目录新建aar文件夹, 把aar文件放进去: 
          	  //比如我把 miit_mdid_1.0.8.aar 放入aar文件夹
              dirs new File(rootProject.projectDir.getAbsolutePath() + '/aar')
          }
        }
    }
    
  2. 在需要依赖 aar 的地方直接使用: implementation(name: 'miit_mdid_1.0.8', ext: 'aar')依赖即可

注意事项:

  • 如果发现已经成功依赖aar但是无法调用相应的类,则重启android studio(仅重启即可, 不用清缓存)
    关于AndroidStudio添加本地aar依赖的坑_第2张图片
  • 如果添加依赖后出现如下图所示错误, 或者说什么时间戳失效的错误, 请把aar解压, 再重新以zip格式压缩即可解决
    关于AndroidStudio添加本地aar依赖的坑_第3张图片

你可能感兴趣的:(Android,Gradle)