我有一个Android Gradle 1.1项目,其中包含一些依赖于其他模块的模块。
Project
├ Module2
│ ├ src/main: imports classes from Module1
│ └ src/test: imports classes from Module1, tests Module2/src/main
└ Module1
├ src/main: implements classes needed by Module2/src/main & Module2/src/test
└ src/test: tests Module1/src/main
我的模块本身编译得很好 我的问题与测试模块有关。 (仅供参考:我正在使用Robolectric)
我见过几个"类似的"与Android build& amp;测试依赖关系,但我找到的那些似乎没有问我在寻找什么:
这些问题也是旧的,不是专注于使用内置单元测试功能的Android Gradle 1.1+,或者不是真的那么相关。
我要问的是:" [java编译?]单元测试如何在同一个项目中导入另一个android模块(通常是.aar文件)?"
A" testCompile项目(':module1')"似乎无法做到这一点。
我怀疑我想要:
是否有一种灵活的方法可以在Android / Gradle构建过程中内置它?
我错过了一些明显的东西吗?
谢谢!
Pv的
答案 0 :(得分:0)
秘诀是在AndroidManifest.xml旁边有project.properties
和test-project.properties
文件
在test-project.properties
插入所有爆炸的aar资源路径(例如android.library.reference.3=../../build/intermediates/exploded-aar/AndroidStudioAndRobolectric/core/unspecified
)
我在http://nenick-android.blogspot.de/2015/02/android-studio-110-beta-4-and.html处对此进行了详细解释。可以在https://github.com/nenick/AndroidStudioAndRobolectric/tree/library找到一个随时可用的示例
答案 1 :(得分:0)
如果您测试的模块依赖于纯Java /非Android代码,另一种方法是提取一个新的java库模块(构建.jar而不是.aar的模块)并依赖于它。在这种情况下,单元测试可以正常运行。
(可能对原始海报不那么有用,因为他们使用的是Robolectric但仍然如此)