项目结构是:
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应用程序模块?
答案 0 :(得分:1)
您不能拥有一个Android应用程序模块(在其构建文件中使用apply plugin: 'com.android.application'
)依赖于另一个Android应用程序。您只能依赖Android库(apply plugin: 'com.android.library'
)。
如果这两个模块都需要生成APK,那么您应该在主 app 项目中获取代码并将其重构为Android库并同时拥有 app 和安全取决于它。