如何将外部项目作为依赖库引用到Android Studio?

时间:2018-06-20 05:50:32

标签: android gradle

我的开发环境如下:

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。

1 个答案:

答案 0 :(得分:0)

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

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