Gradle 编译多个工程(包含多Library库工程依赖)指导

Gradle Android最新自动化编译脚本教程(提供demo源码)

这篇文章我简单写了基于Gradle2.1 进行的android project和android library的编译实例,随后有网友问我是否支持依赖多library编译,我的回复是肯定的,详细见下面的指导:


在实际开发中有很多工程引用到了android-support-v4.jar或者其他的jar包资源;

有时候,在每个library库的libs里都放进android-support-v4.jar 在eclpse里编译运行是没有问题,因为你可以将多余的jarexclud编译设置,但是放在外边执行gradle build的话,会提示jar包重复



解决方法:

在eclipse里我们可以将公共的jar包做一个工程,其他library库引用这个jar包库,然后再被主project所引用;

这样的话,在每个库工程里的build.gradle里都要设置如下:

dependencies{
	compile fileTree(dir:'libs',include:"*.jar")
	compile project(':DependLibs:appcompat_v7')
}

这样写貌似挺对,但是仔细想想还是不对,因为每个引用的库都编译的时候把公共jar库给编译引用了,最后还是会提示冲突。


正确写法改正如下:

dependencies{
	compile fileTree(dir:'libs',include:"*.jar")
	//compile project(':DependLibs:appcompat_v7')
	compile 'com.android.support:support-v4:20.0.0'
}

还有一个不正确写法

dependencies{
	compile fileTree(dir:'libs',include:"*.jar")
	//compile project(':DependLibs:appcompat_v7')
	compile 'com.android.support:support-v4:20'
}

看到这2个写法的区别了吗?


提示你找不到  Could not find com.android.support:support-v4:20


出现这种问题,自己先看看下图:



Android sdk的 Extras包里的Android Support Respository和Andoid Support Library是否 Installed,如果安装了

可以跑到下面目录找D:\dev\adt-bundle-windows-x86-20140702\sdk\extras\android\m2repository\com\android\support\support-v4\20.0.0




找到了,就开始build吧。




引用了很多slidingmenu_library,viewPagerlibrary 工程都编译通过了。


有什么问题,大家可以跟我交流(QQ群:221057495)。



http://www.niftyadmin.cn/n/1808396.html

相关文章

鸿蒙系统价目表,华为P50pro曝光,天玑2000plus+5400mAh+鸿蒙系统,售价感人

据悉目前的国产品牌中能够和三星、苹果这两家巨头厂商抗衡的只有华为这一家厂商,而且华为近几年的发展势头越来越猛,在市场上比三星、苹果都要更加活跃。目前华为已经掌握了最先进和最成熟的5G技术,5G技术也将会成为今后华为发展最大的推注力…

MVC - 使用过滤器来处理已下线的活动

需求: 当活动结束后,我们往往需要将该活动跳转到活动下线的落地页,用以提示用户,而非完全无法访问的状态。 常规处理方式: 对每一个public方法,屏蔽其业务逻辑。这么做的当然可以达到目的,不过过…

js:use strict; 严格模式

http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html转载于:https://www.cnblogs.com/mrxiaohe/p/6409518.html

django1.7 配置demo教程(环境搭建)

最近又用到django做个简单项目,1年多没用过了有些手生,按理说没啥问题吧 下面是一个简单的环境搭建demo过程:前提条件:准备了python2.7已经安装1、搭建django环境下载 https://bootstrap.pypa.io/ez_setup.py保存本地执行 python …

oozie(hue整合oozie)

1、hue整合oozie 第一步:停止oozie与hue的进程 通过命令停止oozie与hue的进程,准备修改oozie与hue的配置文件 第二步:修改oozie的配置文件(老版本的bug,新版本已经不需要了)这一步我们都不需要做了 修改…

不用lineheight 让文字居中

如果有下列代码&#xff1a; <div class"wrapper"> hello world </div>想让hello world在wrapper类中垂直居中&#xff0c;可以为wrapper中添加如下CSS&#xff1a; .wrapper:after { display:inline-block; width:0; …

linux 中更改权限命令chown,chmod,chgrp

写在前面&#xff0c;关于chown,chmod的区别 chown用法 用来更改某个目录或文件的用户名和用户组的 chown 用户名:组名 文件路径&#xff08;可以是就对路径也可以是相对路径&#xff09; 例1&#xff1a;chown root:root /tmp/tmp1 就是把tmp下的tmp1的用户名和用户组改成root…

中国目前O2O市场无非就是糯米、美团、大众点评为代表的BAT在角逐

文/明道副总裁 许维&#xff08;微信 公众号&#xff1a;xuwei0418&#xff09;好像有快2个月没有正经写过文章了&#xff0c;趁着十一小长假有点儿时间&#xff0c;跟大家唠叨一下最近对O2O市场的一些思考。如果把互联网视作是一个革命者的话&#xff0c;那电子商务进行的是增…