我有一个AAR库,我想分发给合作伙伴以及使用它的示例项目。我还希望在开发AAR库时使用相同的示例项目进行手动测试。因此,我希望能够在开发时将库 project 用作依赖项,并在分发时将 AAR文件用作依赖项。
我尝试在示例应用程序中定义两种风格:
productFlavors {
aar {}
project {}
}
...然后定义这样的依赖关系:
dependencies {
//other dependencies
projectCompile project(':myLibrary')
aarCompile 'com.example.mylibrary:myLibrary-release@aar'
}
如果我注释掉aar
风格的依赖关系,project
风格会构建,但如果我将两者都取消注释,则如果myLibrary目录不存在,Gradle同步将失败 - 尽管事实是{ {1}}构建风味不是当前构建变体的一部分。
这样做的正确方法是什么?或者我是否必须在创建一个完整的单独项目以进行分发或在调试/测试时始终引用AAR之间进行选择?