android各module的依赖版本统一

开发项目时,有时会添加多个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相同

调整后
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android组件化项目地址:Android组件化项目AndroidModulePattern Android组件...
    半灬边灬天阅读 2,941评论 4 37
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,142评论 25 708
  • 所有Android插件的基本扩展。 你不需要直接使用这个,你可以选择下面几个合适的直接使用 AppExtensio...
    我该忘了我自己w_u阅读 3,430评论 0 5
  • 组件化开发 是适应团队开发的一种模式 如果你一个项目有三人以上联合开发 你就会发现开发协作以及效率会大不如从前 代...
    nade_s阅读 440评论 0 3
  • “银烛秋光冷画屏,轻罗小扇扑流萤。天阶夜色凉如水,坐看牵牛织女星。”——《秋夕》唐·杜牧 当夜色悄悄降临,许多曼妙...
    稻米丶阅读 143评论 0 0