首页 > 解决方案 > 如何将外部项目作为依赖库引用到 Android Studio?

问题描述

我的开发环境如下:

Android Studio 3.1.3
Gradle 4.4

我的工作区结构如下:

Workspace
       |_____MyAndroidApp
       |           |_____MyAndroidApp
       |                   |____app
       |                         |____build.gradle              
       |                   |____settings.gradle
       |                   |____build.gradle
       |
       |—————SomeOpenSourceAndroidLib
       |           |____SomeOpenSourceAndroidLib
       |           |     |____build.gradle              
       |           |____settings.gradle
       |           |____build.gradle

我想在应用程序项目中引用,所以我在应用程序项目SomeOpenSourceAndroidLib中添加以下几行settings.gradle

include ':SomeOpenSourceAndroidLib'
project(':SomeOpenSourceAndroidLib').projectDir = new File(settingsDir, '../../SomeOpenSourceAndroidLib')

dependencies {
      ...
      //implementation project('xxx.xxx:SomeOpenSourceAndroidLib') //SomeOpenSourceAndroidLib is an opensource project, it comiples ok if i use the online version.
      implementation project(':SomeOpenSourceAndroidLib')
}

这是我已经验证的:

  1. 如果使用 SomeOpenSourceAndroidLib 的在线版本,应用程序项目编译正常

  2. SomeOpenSourceAndroidLib 编译正常

  3. buildTypes 配置相同

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
        }
    }
    
  4. ide中的“离线工作”设置已关闭

但我仍然收到这些错误:

无法解析“:app@debug/compileClasspath”的依赖关系:无法解析项目:sdl_android。

无法解析“:app@debugAndroidTest/compileClasspath”的依赖关系:无法解析项目:sdl_android。

无法解析“:app@debugUnitTest/compileClasspath”的依赖关系:无法解析项目:sdl_android。

无法解析“:app@release/compileClasspath”的依赖项:无法解析项目:sdl_android。

无法解析“:app@releaseUnitTest/compileClasspath”的依赖关系:无法解析项目:sdl_android。

标签: androidgradle

解决方案


我之前也有同样的问题。尝试这个

实施项目(路径:':SomeOpenSourceAndroidLib',配置:'默认')


推荐阅读