记录使用androidstudio IDE方案替换eclipse+ant

之前大半年由于项目进度在时间上卡的比较紧,依然使用Eclipse做开发不去切
换。随着项目上线后,同时项目中多数开源依赖库以gradle方式提供更新,趁着
空出来的一段时间,我也开始将之前的eclipse+adt+ant转到as+gradle上面来。

转到新构建工具与IDE后的一些好处

  1. 原来androidsupportlibrary与buildtool两者版本是必须关联在一起的(之前
    直接从sdk copy一份,并没有深究)
  2. 编译渠道包变得更加简单,使用placeHolder对AndroidManifest的定制化更
    强(之前是用sed来替换的)
  3. 能够直接使用github上面的代码,管理三方library变得十分简单,同时发布
    自己的library也变得简单。能让你更加接近android前沿

gradle 与 android gradle plugin的关系

其实gradle与android是不耦合的,android studio 中用到的各种’buildType’
‘productFlavor’都是在android dsl plugin中定义的。

Google介绍gradle的主页 介绍了 android dsl plugin的具体语法, 网上看到的
各种magic key, 可能因为版本的问题,其实都可以在这里查到。其实还有很多
feature点,都能在这个页面上找到(Manifest Merger等)

Gradle DSL Reference中有一个概念值得提一下,BaseExtension有三个子类,分
别使用到 Application Library和Test Module中。

IDE工具eclipse 与 androidstudio 组织工程上的概念差别

In RealEclipseAndroidStudio
workspaceworkspaceproject
projectprojectmodule
   

实际转换与使用中遇到的问题

IDE keybinding

由于之前用的是 eclipse + emacs+的方案,第一次上手确实非常的不适应。不
停的打开 keymap 进行想要定制的修改。不过emacs-plus也提供了as的插件,不
过目前还不是很全面。记得修改好适合自己的config后,重命名一下。后续升级
androidstudio能够直接导入使用。

如何run java module

新增一个Application启动设置
https://github.com/libgdx/libgdx/wiki/Gradle-and-Intellij-IDEA#running-your-project

Jenkins 的相应调整

这个比较简单,原先ant编译,还需要把ant放入path中。现在只要有jdk,用
gradlew(wrapper)就能搞定,只是第一次运行,需要下载一遍。

jenkins调用实际的./gradlew assembleRelease时,最好能够在中间放一层
shell script,更灵活点吧。

更加严格的编译检查

增加如下配置

lintOptions {
    abortOnError false
}

Manifest merge新规则

Google文档

HOWTO use gradle build release apk

./gradlew assembleRelease

HOWTO public and import Android project

Add compile denpendence , 然后./gradlew sync一下就OK啦

HOWTO build and run standard Java Project in AndroidStudio

这个要绕一下,project层面只能新建android的,但是module可以建个java
library,然后配置一下启动config

Develop Annotation Processor

这点还不知道, 目前要修改ap子工程,得启动一下eclipse

一些文章链接

Google文档
stormzhang的系列文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值