0x0 背景介绍html
随着Android Studio功能愈来愈强大,Android平台的开发者们基本上都从原来的Eclipse + ADT 转到了AS上。本文就记录本身在配置AS环境过程当中遇到的各类问题,方便后来者节约时间。
linux
本文主要介绍在AS 2.0中,如何借助新的android编译插件,进行NDK开发,包括调试。android
注:笔者的系统版本是:OSX 10.10.5 (是的,并无升级到10.11...主要是担忧不少软件出bug..)
git
整个配置需求:github
① Android Studio 2.0android-studio
② gradle 版本>= gradle 2.10bash
③ gradle-experimental:0.7.0-alpha1(与当前gradle版本一一对应,对应表见这里的gradle requirement部分)app
④ NDK版本>= ndk-r10egradle
0x1 下载与安装网站
关于这部份内容就不须要我多说了吧,网上一大堆。不过鉴于我锅强大的防火墙,这里推荐一个下载Android开发相关IDE的网站,下载速度杠杠的。
本文推荐使用最新的AS 2.0,由于其自带gradle 2.10,而此版本的gradle是后续利用新的插件进行NDK开发的必备条件。我我的比较推荐你们更新到最新的AS,由于AS的更新成本并不高,且在安装新AS的过程当中,它还会提示你是否选择导入老版本AS的各类系统配置,因此彻底不用担忧各类个性配置失效。
这里我说起一下gradle环境变量的配置:
编辑 ~/.bash_profile文件,在其中加上以下语句:
# for gradle export GRADE_HOME=/Applications/Android\ Studio.app/Contents/gradle/gradle-2.10 export PATH=$GRADE_HOME/bin:$PATH
这里我默认AS安装到了 /Applications/Android\ Studio.app/ 目录。编辑完成后使用命令:soure ~/bash_profile 刷新一下环境变量。
0x2 NDK开发环境配置
AS开发了一个实验性质的NDK插件,虽是实验性质的,但目前来讲已经相对稳定,从功能完备性来讲,也知足绝大部分开发者的需求了。整个过程严格按照官网的步骤,不过很遗憾的是,按照官网步骤并不能确保成功。。。这里我会一一进行补充说明。
首先建立一个NDK项目,建立和部分配置过程能够见这里。建议读者先浏览一遍该文,而后再回头看本文(本章节内容算是对该文的查漏补缺)。除了该文说起的操做以外,咱们还须要补充以下步骤:
①打开项目的local.properties文件,在其中添加NDK目录:
sdk.dir=/Users/path/to/sdk/new-android-sdks ndk.dir=/Users/path/to/ndk/android-ndk-r10e
②修改项目中build.gradle文件中的classpath:
gradle-experimental:0.6.0-beta5 -> gradle-experimental:0.7.0-alpha1
而后就能够开始编译了。若是编译过程当中出错,通常是说gradle sync失败,那么就多是当前gradle版本与gradle-experimental的插件版本不匹配,君不见官网给出的对应表中2.10对应多种插件版本么?依次修改gradle-experimental的插件版本号,而后从新编译便可,总有一款适合你的!另外说起一些我遇到的坑。好比app/build.gradle中,dependencies选项必定得在model以外!!!android配置选项中必定不要忘了android.productFlavors现象,否则会出现各类奇怪bug.
可是,若是仍是出现问题怎么办?通常这种状况就是由于build.gradle脚本没写对,那么就去参考google的官方example吧!
0x3 NDK调试环境配置
这部分彻底能够参考此文,我就很少费笔墨了。
0x4 Android Studio 便捷配置
AS基于社区版本的IntelliJ IDEA,因此不少配置选项都是能够通用的。好比IntelliJ超强大的代码提示功能(AS中连NDK都有提示!!!),能够设置为首字母大小写无关:
Android Studio -> preference -> Editor -> General -> Code Completioin 将其中的Case sensitive completion选项设置为None便可。
0x4 导入Eclipse项目问题汇总
本部份内容主要参考了以下文章:
1) http://www.cnblogs.com/lao-liang/p/5016541.html
2) http://flashgou.com/show/177
3)http://stackoverflow.com/questions/23677855/android-studio-unmappable-character-for-encoding-utf-8
1、项目导入
目前Android Studio导入Eclipse工程有两种模式:一、兼容Eclipse; 二、全新的Android Gradle Project
Google推荐用全新的方式,因此此处不介绍兼容模式导入。这里,请先关闭Android Studio当前的Project,不然你看不到Import Project。导入文件后一路next就好。Android Studio导入完毕后,会默认在窗口中打开这个import-summary.txt文件,里面记录了导入的一些注意事项。这个文件有几个须要注意的节点,以下:
Manifest Merging
Ignored Files
Replaced Jars with Dependencies
这里咱们主要关心Ignored Files信息。能够根据实际须要将未被引入的文件加入到本身的工程中。
2、文件中有中文,出现乱码问题
这一般在mac/linux平台导入Windows平台项目时出现,网上解决方案千篇一概都是经过更改编码方式解决。可是我的认为,最好不要去动系统默认的编码方式,而是根据须要将本项目出现乱码的文件的编码方式加以修改就行。修改方式就是右击文件,点击File coding->GBK,而后选择reload便可。
3、gradle编译项目时出现“编码错误:utf-8......”
目前来讲,网上不少解决方案在我这都行不通,最后在stackoverlow中获得答案:在app目录的build.gradle文件中添加以下代码:
android { ... compileOptions.encoding = 'GBK' // 根据你导入项目的编码决定,含中文的Windows项目基本都是GBK ... }
这样再编译就不会报错了。