码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-10-10 16:56:24      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:gradle   andoid support libra   android-support-v4.j   com.android.supports   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包重复

bubuko.com,布布扣


解决方法:

在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个写法的区别了吗?

bubuko.com,布布扣

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


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


bubuko.com,布布扣

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


bubuko.com,布布扣


找到了,就开始build吧。


bubuko.com,布布扣


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


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


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

标签:gradle   andoid support libra   android-support-v4.j   com.android.supports   gradle多library编译   

原文地址:http://blog.csdn.net/changemyself/article/details/39961063

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!