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里编译执行是没有问题,由于你能够将多余的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
出现这种问题,自己先看看下图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hhbmdlbXlzZWxm/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
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)。
Gradle 编译多个project(包括多Library库project依赖)指导的更多相关文章
- Qt编译时MinGW去掉对gcc动态库的依赖(去掉对libgcc_s_dw2-1.dll,libstdc++-6.dll的依赖)
用Qt写点东西,我一般是下载官方的MinGW编译工具包,它有个不好的地方,经常还会多一些除了Qt库以外的其它的依赖动态链接库,比如:libgcc_s_dw2-1.dll,libstdc++-6.dll ...
- maven常见问题处理(3-3)Gradle编译时下载依赖失败解决方法
Gradle编译时在本地仓库中如果没有发现依赖,就会从远程仓库中下载, 默认的远程仓库为 mavenCentral(),即 http://repo1.maven.org/maven2/往往访问速度特别 ...
- 深入理解gradle编译-Android基础篇
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...
- 第三篇:gradle 编译 Android app 概览
引言:经过上两篇的论述,我们已经从代码到架构都简单的熟悉了一遍,理论上,只要知道android app的编译过程,我们大可以自己写一份用gradle编译app的插件,插件内将将整个流程用Task的依赖 ...
- 用gradle编译任意结构的Android项目
## 需求 * 继续用`Eclipse`项目的结构,但是使用`gradle`编译,或者说任意的项目结构进行编译. ## 解决方案 1. Android studio的项目结构 1. Android S ...
- 使用 Gradle 编译 Java 项目时报错: Could not find Tools.jar
在使用Android studio进行编译成jar的时候,遇到Gradle 编译错误,听前辈们说是jdk的版本不对,于是乎就更新了一下jdk, 然而可能是我重新安装jdk的时候改变了安装路径, 在pr ...
- Android Studio工程Gradle编译报错
一.环境的搭建: 首先搭建好AndroidStudio环境.我使用的是Ubuntu 12.04系统(由于此机器还要运行其他程序,为避免兼容性问题,暂未更新到最新,而继续沿用此稳定版),java和jdk ...
- 6个技巧加速你的gradle编译
近期我们都在讨论build系统,我们看了一些技巧能够让你的Maven build更快. 结论和反映都势不可挡.由于我们提供的技巧,很多其它的人都非常高兴能加快他们完毕自己的项目.如今,让我们看一下怎么 ...
- Android提升Gradle编译速度或减少Gradle编译时间.md
目录 Android如何提升Gradle编译速度或减少Gradle编译时间 最终优化方案 优化效果比对 将所有项目源码,各种缓存临时目录都移动到高性能SSD磁盘上 gradle.properties ...
随机推荐
- Java-MyBatis-杂项: MyBatis 中 in 的用法2
ylbtech-Java-MyBatis-杂项: MyBatis 中 in 的用法2 1.返回顶部 1. 一.简介 在SQL语法中如果我们想使用in的话直接可以像如下一样使用: select * fr ...
- UWP 开发APP准备工作
每新建一个UWP之后,都要进行一番相同的处理步骤,才能使Mobile的使用体验更好,故总结如下: 1.订阅Mobile后退导航事件 在App.xaml.cs文件中OnLaunched方法中添加 Sys ...
- DirectUI界面编程(三)从XML文件中加载界面
Duilib支持xml界面布局,使得界面设计与逻辑处理相分离,本节介绍如何从xml文件中加载界面元素. 我们需要以下几个步骤: 创建并初始化CPaintManagerUI对象. 创建CDialogBu ...
- 利用 js 获取地址栏参数
1.aspx页面,进行页面跳转 window.location.href = "ProviderInfo.aspx?ProviderID="+ProviderID; 2.Provi ...
- 给SearchView设置样式
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http:/ ...
- Android使用Dribble Api
使用Dribble提供的Api获取上面的设计分享 使用了Material Design.SceneTransitionAnimation 使用了Volley Gson 1. 申请Dribble开发者应 ...
- Hibernate配置文件 hibernate.cfg.xml
<!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式--> <?xml version='1.0' ...
- php基础-----常量const和define的区别
1.常量是一个简单的标识符,在脚本运行期间,值不可改变,默认大小写敏感. 答:使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比def ...
- js 屏蔽非数字字符输入
在有输入字符为数字字符的需求时,首先想到的是设置 input 的 type 为 number / tel,原因见之前的 移除input number的上下箭头 . 好巧不巧的时,在最见的项目中,碰到了 ...
- OCR文字识别软件FineReader系列产品双十一特惠!
17年的双十一,似乎比以往来的更早一些,说是双十一,这不,从十月里就开始了各种宣传,各种造势,说到底还是影响力太大,关注人群太多,优惠力度太劲爆,简直让人不注意都不行啊!对于ABBYY来说,给用户来点 ...