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)。

时间: 2024-11-09 16:00:58

Gradle 编译多个工程(包含多Library库工程依赖)指导的相关文章

Gradle 编译多个project(包括多Library库project依赖)指导

Gradle Android最新自己主动化编译脚本教程(提供demo源代码) 这篇文章我简单写了基于Gradle2.1 进行的android project和android library的编译实例,随后有网友问我是否支持依赖多library编译.我的回复是肯定的,具体见以下的指导: 在实际开发中有非常多工程引用到了android-support-v4.jar或者其它的jar包资源: 有时候.在每一个library库的libs里都放进android-support-v4.jar 在eclpse里

iOS 工程套子工程,主工程和framework工程或.a静态库工程联调

一.主工程套Library(即.a)工程联调 1.新建一个主工程和一个Library工程,如何创建Library工程参照我另外一篇博客iOS 最新framework和.a静态库制作及使用全解但这个Library工程不需要编译成静态库 2.将静态库工程拖到主工程,我这里拖到下图箭头所指的UseA文件夹下(如果你要拖到其他目录,就要改Library Search Paths,下面我会介绍Search Paths路径相关知识) 3.将Library工程下Products目录下的.a文件拖入主工程的Li

c# CLI托管工程开启调试c++库工程代码

启动调试c#winform工程中,无法命中c++库工程中中的断点,在c#工程中更改调试设置: 勾选上Enable unmanaged code debuging

Qt编译时MinGW去掉对gcc动态库的依赖(去掉对libgcc_s_dw2-1.dll,libstdc++-6.dll的依赖)

用Qt写点东西,我一般是下载官方的MinGW编译工具包,它有个不好的地方,经常还会多一些除了Qt库以外的其它的依赖动态链接库,比如:libgcc_s_dw2-1.dll,libstdc++-6.dll这样的鬼东西,之前用CodeBlock的时候发现没有这样的现像,就感觉很奇怪,于是仔细查找了一此资料,原来这些东西可以通过设置编译器选项把它们去掉的,其实就是改成静态链接依赖库中的代码. 我这里是直接修改Qt编译后的配置,找到QTDIR/mkspec/win32-g++ /qmake.conf,QM

理解使用Gradle编译打包Android apk

本篇的目的:理解Gradle构建过程,解读Android Gradle插件的配置 阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章. APK包是一个ZIP压缩包,从Java源代码.资源文件到生成这个APK,经过了编译打包一系列特定的过程,这个过程可以参看<使用Ant打包Android应用--apk生成过程>,也可以从自己的旧版SDK文档(/docs/tools/building/index.html)中找到.而这一系列特定的过程,重

React Native Android Gradle 编译流程浅析

[工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 前面已经发车了一篇<React Native Android 从学车到补胎和成功发车经历>,接着就该好好琢磨一下 React Native 周边了,没看第一篇的可以先去看看:这里我们先从 React Native 的 Android 编译来简单揭晓一下 React Native 在集成的过程中到底干了哪些不可告人的坏事:由于我们项目准备以 Gradle 形式接入

Android Gradle编译学习日记之二(使用 Gradle 编译 Eclipse,引入依赖资源以及迁移 Android Studio)

大家如果喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处(http://blog.csdn.net/kifile),再次感谢 Android Gradle编译学习日记(基于 Android Studio 1.0): Android Gradle编译学习日记之一(搭建 Gradle 环境以及编译 Android 应用) 在上一篇文章中,我简单介绍了一个 Gradle 环境变量的搭建,以及如何使用 Gradle 编译 Android

gradle 编译android项目 Eclipse

gradle下载地址 gradle环境配置 1.工程目录结构 说明:如果项目有多个library工程并且有可能重复引用了相同的jar包,如support-4等,需要将这些jar单独拎出来作为一个BaseLibray,其他library引用这个BaseLibrary,如果不这样做很有可能在编译的时候遇到下面这样的错误: UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Landroi

导入一个AndroidStudio工程作为一个Library Module

尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/47441245 关注新浪微博:@于卫国 邮箱:[email protected] 在我们有两个Android Studio工程的情况时,我们想使用一个作为library工程导入到另一个工程作为一个module.我们可以使用Android Studio很容易的做到. 让我们假设我们有两个工程:MyApplication和MyLibrary,我们想导入MyLibrary到MyA