设为首页 加入收藏

TOP

Gradle 构建 Android 应用常见问题解决指南
2014-11-24 02:36:40 来源: 作者: 【 】 浏览:1
Tags:Gradle 构建 Android 应用 常见问题 解决 指南

以前我们写的时候会这么写


不过,由于android gradle 插件的开发还是很活跃的,而且目前而言,可能还存在一些我们不知道的坑,但是,别人踩过,后边,官方修复,为了不踩坑,我建议android gradle 始终保持最新版本,写法如下:


有时候,我们的代码使用utf-8 保存的,但是,进行gradle build 的环境是gbk这类的,这时候会包如下错误:


这个时候我们就需要手动的设置编译时编码类型.


出现这个问题的原因一般是由于我们这样的写法导致:


某个相同的jar包,被复制到了build目录导致重复编译使编译时失败,


由于这个问题android support v4 出现的比较多,所以同类型的都归类为v4 问题吧.


要避免这个问题,我们尽量少使用依赖某个目录下所有包,毕竟android项目不想java web项目动不动就有好几十jar 包依赖.要修复这个v4,原理很简单,可以使用依赖maven的写法.


用指定依赖包的方式打包,我们会发现,最终打包后的jar没有了*.so文件,这个时候,我们需要自定义一个tasks,写如下:


这样,在编译时,就会自动把libs目录下的**/*.so 文件复制到apk里面了.


在最新版本的gradle 0.5.7 中,构建多渠道包比之前简单多了,在以前,你需要这么写:


要替换某个类型的文件需要自己手动写,渠道多了,这代码量是可想而知的多,在0.5.7中,进行了一个约定规则,构建,渠道包你只需


在项目的根目录下创建一个build-types的目录,在创建对应渠道的子目录,然后把一些,诸如要替换AndroidManifest.xml,里面友盟渠道号什么的,直接把xml复制进去就行,gradle在构建项目的时候,会自动的优先使用build-types下目录文件的目录,诸如,根据不同渠道,不同国家换个程序图标什么的,都只要放到目录下即可.


推荐阅读:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Golang通过Thrift框架完美实现跨.. 下一篇阿里巴巴2014笔试题选解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: