Android Gradle项目中的依赖项(Android Studio)

时间:2014-07-14 11:33:11

标签: android gradle android-gradle

项目结构是:

project_name
|--app (main Android application module)
|--secured (Android application module)

应用模块 依赖于安全模块。但安全模块取决于应用模块

以下是来自安全 build.gradle:

的代码段
apply plugin: 'com.android.application'

android {
  compileSdkVersion 20
  buildToolsVersion '20.0.0'
  <...>
}

dependencies {
  compile project(':app')
  compile files('libs/libA.jar')
  compile files('libs/libB.jar')
} 

所以一切似乎都很好,AS没有发出任何警告。但是当我从AS中的Gradle任务面板运行 project_name:secured [assemble] 时,我收到了数百个警告。所有这些都是指 app 模块,就像我忘了添加 app 模块的依赖项一样。因此,我无法获得安全模块的apk文件。

怎么了?我可能在哪里弄错了?

UPD1

/Users/artm/Documents/Projects2/project_name/secured/src/main/java/com/companyname/app/vps/secured/SecuredClass.java:3: error: cannot find symbol

import com.companyname.app.vps.ISecured;
                          ^
symbol:   class ISecured
location: package com.companyname.app.vps

<and about hundred of errors such this>

* What went wrong:
  Execution failed for task ':secured:compileDebugJava'.
> Compilation failed; see the compiler error output for details.

UPD2

include ':app', ':shared', ':secured'

UPD3 Android库模块是否可能依赖Android应用程序模块?

1 个答案:

答案 0 :(得分:1)

您不能拥有一个Android应用程序模块(在其构建文件中使用apply plugin: 'com.android.application')依赖于另一个Android应用程序。您只能依赖Android库(apply plugin: 'com.android.library')。

如果这两个模块都需要生成APK,那么您应该在主 app 项目中获取代码并将其重构为Android库并同时拥有 app 安全取决于它。