Android gradle项目在不同的目录树中编译项目

标签 android actionbarsherlock gradle

我有一个这样的项目布局:

MyProject/
    Project/
        build.gradle
    build.gradle
    settings.gradle
thirdparty/
    ActionBarSherlock/
        actionbarsherlock/
            build.gradle
        build.gradle
        settings.gradle

ActionBarSherlock 目录是一个指向 ActionBarSherlock 的 dev 分支的 git 子模块,其中包含 gradle 构建文件。

MyProject/settings.gradle 我添加了:

include '..:thirdparty:ActionBarSherlock:actionbar'

并在 MyProject/build.gradle 中添加:

compile '..:thirdparty:ActionBarSherlock:actionbar'

dependencies 部分。当我使用 gradle assemble 构建 MyProject/Project 时,出现以下错误:

> Project with path '..:thirdparty:ActionBarSherlock:actionbar' could not be found in project ':MyProject'

我可以单独构建ActionBarSherlock,使用:

cd thirdparty/ActionBarSherlock/actionbarsherlock
gradle assemble
cp build/libs/actionbarsherlock-4.3.2-SNAPSHOT.aar ../../../MyProject/Project/libs

然后在 MyProject/build.gradledependencies 部分使用它作为:

compile files('libs/actionbarsherlock-4.3.2-SNAPSHOT.aar')

现在,当我构建 MyProject/Project 时,出现以下错误:

> Duplicate files at the same path inside the APK: AndroidManifest.xml

最佳答案

这个谷歌小组有来自 Android SDK 开发者 Xavier Ducrohet 的回答。 https://groups.google.com/forum/#!topic/adt-dev/bPY_Un8BsBY

引用:

To depend on a gradle project that's outside of your main project's root folder you can try to do the following:

include 'abs'

project(':abs').projectDir = new File('/some/path/relative/or/absolute')

Note that your app should do a dependency using project(':abs'), since the gradle path is :abs no matter what the on-disk path is.

关于Android gradle项目在不同的目录树中编译项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16941934/

相关文章:

android - 单击设置了 actionLayout 的菜单项时不会调用 onOptionsItemSelected()

android - 无法在某些模块中运行 androidTest

groovy - 这个 Gradle 语法有什么问题?

java - Gson 帮助解析数组 - 在没有数组的情况下工作但不会与数组一起工作

android - 关于 fresco 的启动崩溃

android - Cordova-CLI & PhoneGap-CLI 看不到 android sdk

android - 如何增加 SherlockActionBar 中 actionButton 的图标大小?

java - 检索主机 Android 手机上所有音乐的列表

Android - 自定义操作栏 sherlock 选项卡

android-studio - Cordova 自定义插件使用第3方JAVA lib gradle