Android Gradle:取决于库,但不是库本身

时间:2014-04-01 08:08:11

标签: android android-studio android-gradle

我正在为我的gradle构建一个Android产品,以使产品口味有效。

我有以下项目结构:

at.mkw.inlocs.android - Library Project
at.mkw.inlocs.android.lib - Library Project - depends on at.mkw.inlocs.android
at.mkw.inlocs.android.login - App Project - depends on at.mkw.inlocs.android
at.mkw.inlocs.android.core - App Project - depends on at.mkw.inlocs.android.lib
at.mkw.inlocs.android.breeding - App Project - depends on at.mkw.inlocs.android.lib
at.mkw.inlocs.android.localization - App Project - depends on at.mkw.inlocs.android.lib
at.mkw.inlocs.android.health - App Project - depends on at.mkw.inlocs.android.lib

自从向所有应用程序和库项目添加产品风格后,我在构建时遇到异常。

  

enter image description here

我正在使用最新的gradle神器(com.android.tools.build:gradle:0.9+)和android构建工具19.0.3

另一个问题是,Android Studio在项目视图中没有显示at.mkw.inlocs.android.lib模块。

enter image description here

切换到包视图后,模块可见,但没有内容。

enter image description here

我已粘贴build.gradle文件:

root build script

at.mkw.inlocs.android

at.mkw.inlocs.android.lib

at.mkw.inlocs.android.login

at.mkw.inlocs.android.core

at.mkw.inlocs.android.localization

at.mkw.inlocs.android.health

at.mkw.inlocs.android.breeding

1 个答案:

答案 0 :(得分:3)

查看build.gradle at.mkw.inlocs.android,您正在使用库项目中的flavor。

虽然这很好,但是库项目中的当前风味支持不是最终的,默认情况下,由于某些限制,变体不会被发布(供其他项目使用)。

要启用它,您需要执行

android {
    publishNonDefault true
}

参考:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Library-Publication