开发项目时,有时会添加多个module依赖,而在各module中,也各自添加了相关库的依赖。此时,常见问题就是同一个库,可能存在两个或更多版本,导致项目build失败。

Process 'command '/Users/zhangxueyan/Library/Android/sdk/build-tools/25.0.0/aapt'' finished with non-zero exit value 1

依赖的库

上图中红框即是同一个库,不同版本的情况。

那么如何解决呢?

在工程build.gradle文件中添加:

subprojects {    afterEvaluate {project ->        if (project.hasProperty("android")) {            android {                compileSdkVersion 27                buildToolsVersion '27.0.3'                defaultConfig {                    targetSdkVersion 27                }            }        }    }}

上面设置的效果:各子module(包括app module)的compileSdkVersion、buildToolsVersion、targetSdkVersion都将按此设置。

subprojects { }

作用:配置这个项目的子项目。这个方法对这个项目的每个子项目执行给定的闭包。目标项目作为闭包的委托传递给闭包。

afterEvaluate

afterEvaluate是一般比较常见的一个配置参数的回调方式,只要project配置成功均会调用,参数类型以及写法与afterEvaluate相同

调整后

更多相关文章

  1. [置顶] Android(安卓)UI设计之RecyclerView
  2. Eclipse添加Android语法提示
  3. Android项目开发第三周
  4. Dagger2 菜鸟学习指南
  5. 为Activity屏幕的标题添加图标
  6. 安卓SDK接入Unity
  7. cocos打包android遇到的那些坑
  8. C++项目RapidJson的详细用法总结
  9. android 之 PhoneGap+jQuery Mobile+Rest 访问远程数据

随机推荐

  1. Android开发-----03-使用Canvas绘制虚线
  2. Android(安卓)收发彩信(MMS)
  3. Android(安卓)Studio之版本管理工具Git (
  4. mac 系统开发android,真机调试解决方式(无
  5. Android各版本适配之6.0
  6. 刷机ROM制作及刷机原理浅谈
  7. android集成Crosswalk内核,屏蔽返回键问题
  8. android线程相关2
  9. 【Geek】Android(安卓)将代码打包成JAR时
  10. 安全篇 - 隐式配置 KeyStore 签名信息