mac平台打造犀利的Android Studio开发环境
0x0 背景介绍
随着Android Studio功能越来越强大,Android平台的开发者们基本上都从原来的Eclipse + ADT 转到了AS上。本文就记录自己在配置AS环境过程中遇到的各种问题,方便后来者节约时间。
本文主要介绍在AS 2.0中,如何借助新的android编译插件,进行NDK开发,包括调试。
注:笔者的系统版本是:OSX 10.10.5 (是的,并没有升级到10.11...主要是担心很多软件出bug..)
整个配置需求:
① Android Studio 2.0
② gradle 版本>= gradle 2.10
③ gradle-experimental:0.7.0-alpha1(与当前gradle版本一一对应,对应表见这里的gradle requirement部分)
④ NDK版本>= ndk-r10e
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
一、项目导入
目前Android Studio导入Eclipse工程有两种模式:1、兼容Eclipse; 2、全新的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信息。可以根据实际需要将未被引入的文件加入到自己的工程中。
二、文件中有中文,出现乱码问题
这通常在mac/linux平台导入Windows平台项目时出现,网上解决方案千篇一律都是通过更改编码方式解决。但是个人认为,最好不要去动系统默认的编码方式,而是根据需要将本项目出现乱码的文件的编码方式加以修改就行。修改方式就是右击文件,点击File coding->GBK,然后选择reload即可。
三、gradle编译项目时出现“编码错误:utf-8......”
目前来说,网上很多解决方案在我这都行不通,最后在stackoverlow中得到答案:在app目录的build.gradle文件中添加如下代码:
android {
...
compileOptions.encoding = 'GBK' // 根据你导入项目的编码决定,含中文的Windows项目基本都是GBK
...
}
这样再编译就不会报错了。
mac平台打造犀利的Android Studio开发环境的更多相关文章
- windows平台下Android studio开发环境搭建教程
最近,Google 已宣布,为了简化 Android 的开发力度,以重点建设 Android Studio 工具,到今年年底将停止支持Eclipse等其他集成开发环境 .而随着Android stud ...
- android studio 开发环境配置
android studio 开发环境配置 参考: 第一次使用Android Studio时你应该知道的一切配置 https://www.cnblogs.com/qianguyihao/p/43909 ...
- Android studio 开发环境搭建
Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...
- Android Studio开发环境配置以及相关说明
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里简单记录下在开发的时候使用的Android Studio开发环境版本以及相关注意事项. 一般来讲,每隔一段时间就要检查下Andr ...
- 【Android Studio安装部署系列】二、Android Studio开发环境搭建
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio开发环境安装步骤 下载Android Studio 下载地址: http://www.wanandroi ...
- Android Studio开发环境配置(win7)
由于近期,google网站封锁,导致eclipse配置android环境时,无法在线更新API和配置ADT.个人尝试之后,发现很多地方配置因为版本不合适而配置不成功,(ps:当然你FQ,或者下载到对应 ...
- 【Android学习笔记】Mac下Android Studio开发环境搭建
本文由@ray 出品,转载请注明出处. 文章链接:http://www.cnblogs.com/wolfray/p/7829069.html 对于移动端这块,笔者之前一直都是进行iOS开发的,也从来 ...
- Mac搭建cocos2dx+Android studio开发环境以及AnySDK的集成
配置环境: mac osx 10.12.6 cocos2dx 3.14 Android studio 2.3 目标: 在mac上配置cocos Android开发环境,接入AnySDK 配置: 1.安 ...
- Android开发学习之路--MAC下Android Studio开发环境搭建
自从毕业开始到现在还没有系统地学习android应用的开发,之前一直都是做些底层的驱动,以及linux上的c开发.虽然写过几个简单的app,也对android4.0.3的源代码做过部分的分析,也算入门 ...
随机推荐
- linux下Tomcat配置提示权限不够解决办法
在终端输入命令 sudo chmod -R 777 /opt/Tomcat,那么Tomcat文件夹和它下面的所有子文件夹的属性都变成了777(读/写/执行权限)
- oauth2.0协议接口-第一篇-api逻辑
开放平台是支持OAuth2.0和RESTful协议的资源分享平台,经过授权的合作伙伴可以读取和写入资讯.用户.文件.数据库等资源. 1.创建数据库表结构 CMSSyncClient(数据同步客户端) ...
- static作用域
当一个函数完成时,它的所有变量通常都会被删除.然而,有时候您希望某个局部变量不要被删除. 要做到这一点,请在您第一次声明变量时使用 static 关键字: <?php function myTe ...
- C语言函数篇(四)函数的设计
1. 函数设计的时候,如果使用到全局变量,就尽量通过参数的形式传递进来 也就是说,保持 函数 跟 外部的交互 只有 参数 和 返回值 2. 在有参数的情况下,或者有数值输入的时候,要先进行错误判断. ...
- 通过集群的方式解决基于MQTT协议的RabbitMQ消息收发
在完成了基于AMQP协议的RabbitMQ消息收发后,我们要继续实现基于MQTT协议的RabbitMQ消息收发. 由于C#的RabbitMQ.Client包中只实现了基于AMQP协议的消息收发功能的封 ...
- Android Config通用类来记录信息
1.整体分析 1.1.源代码,可以直接Copy. public class Config { private static int M = 1024 * 1024; private volatile ...
- PHP.16-PDO
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能. 注意利用 PDO 扩展自身并不能实现任何数 ...
- 安测云验证有CTA问题
背景: 现在所有的app 都需要通过工信部的审核.用户不同意之前,不能联网. 那么,我怎么知道自己的应用有没有联网呢?那么多sdk ,那么多代码?我怎么测试呢? 哈哈,我们测试给的方法真的很管用. l ...
- JavaScript 仿ios滑动选择器
从git上找了一个,不过不是我想要的,更改了许多.到了我想要的效果: roller_selector_0_9.js 首先上js: "use strict"; /* * Author ...
- Spring自动装配bean
Spring推荐面向接口编程,这样可以很好的解耦具体的实现类. CompactDisc.class 文件: public interface CompactDisc { void play(); } ...