如何将其他项目中的应用程序用作库?

时间:2015-08-19 02:19:50

标签: java android gradle hierarchy exoplayer

当该应用程序依赖于我已经使用的库时,如何将其他项目中的应用程序用作库?

这就是我所拥有的:

MyProject
  app
  libraries
    ExoPlayer
      demo
      library

这是我目前的配置,与此相关。

演示/的build.gradle:

apply plugin: 'com.android.application'
...
dependencies {
    compile project(':library')
}

库/的build.gradle:

apply plugin: 'com.android.library'

MyProject的/ settings.gradle:

include ':libraries:ExoPlayer:library'

MyProject的/应用/的build.gradle:

dependencies {
    compile project(':libraries:ExoPlayer:library')
}

正如您所看到的,我正在使用ExoPlayer库作为库(图),但我也希望将演示应用程序用作库(特别是对于DemoPlayer,我不想要这些活动)。但是demo也依赖于库。为了达到这个目的,我需要在gradle文件中添加什么内容?

我尝试按照库设置并将其应用于演示,但它打破了演示构建:

Project with path ':library' could not be found in project ':libraries:ExoPlayer:demo'

我尝试过跟随其他类似线程,例如this one,但没有成功。

我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

很久以前,我已经将Exoplayer用作库项目,但不再需要它了:你可以使用gradle依赖项:

compile 'com.google.android.exoplayer:exoplayer:r1.4.2'

如果您想继续使用库项目,则必须检查所有Android Studio引用模块所在的settings.gradle。此文件包含您之后将使用的模块名称。

示例 :(基于AndroidVuMeter

settings.gradle

include ':app', ':vumeterlibrary'

项目结构

Project/
   app/
   vumeterlibrary/

要使用vumeterlibrary,您必须在应用compile project(':vumeterlibrary')中使用build.gradle