ubuntu+idea intellij配置android开发环境

最近对移动开发产生兴趣,决定在未来几年内利用空余时间开发一些app或游戏什么的,鉴于ios开发成本较高,且自身对java相对熟悉,因此选择了学习android。都说android市场不很很好,收益较难,但是仍觉得只要功夫深,产品好,总会有人用。

不扯了,去网上搜了一下都是大部分android开发都是基于windows+eclipse,但是自己工作这段时间都是使用的linux+idea,而且用着特别舒服,因此决定依旧使用ubuntu+idea,不说废话了,配置过程如下:

1. 自己本职就是做java web开发,因此java环境是有的,且ubuntu和idea本机自带无需另外安装。这里直接装android SDK

网上和书上都说去android官网去下载,但是官网已被墙(最近好多网站都被墙,google也上不去了,免费的翻墙软件都说服务器压力太大不提供免费使用,我ZGZF啊...),所以去网上直接搜,最后找到了,地址:http://www.cr173.com/soft/78226.html

下载了好几次开始用的chrome自带的下载工具,竟然不能断点续传(失望...),遂尝试使用ubuntu自带的firefox,竟然支持续传(好吧,以前很少用,小看了)。

这个包中包括了android SDK和eclipse(我说怎么这么大),果断放弃eclipse(用了三年的eclipse在我用了一周的idea之后就果断放弃了,idea就是java开发神器)。

进入android SDK的目录下,内容如下:

具体的我也不解释,自己看书吧,我也不是很明白(新人)。

2. 进入tools文件夹,执行./android命令,出来一个SDK manager的窗口,如下:

我选择了4.4.2版本(随便选的,现在还不知道各个版本的区别,以及支持的硬件配置,有坑的话以后慢慢填吧,摸着石头过河),我选择了4.4.2版本下的所有内容(从程序员的经验来看,想成为一个领域的大牛,什么doc,source啊都得看)并下载(我昨晚在公司发布到快一点,到家快两点才开始配环境,下载sdk又下载版本包,特别慢,擦,快四点了就由他自己下吧,今早八点多参加公司活动,下午回来发现差不多下好了)。

3. 打开idea(我用的13.1.3的,好吧,我用的破解版,误喷,自己也痛恨盗版,用社区版大半年,社区版功能少太多,后来没办法找同事生成一个key,就同流合污了),新建一个empty project,建好之后新建一个android module可以用idea默认提供的工程(先尝试跑起来)。

建好module之后,启动,结果很显然,失败了,原因是android avd还没配。

4. 配置android avd

输入命令:android avd,弹出的窗口如下:

点击new, 弹窗如下:

填好能填的项之后,发现Target这项填不了,不让提交,疯了...

在网上搜了很多内容,未果,尝试在idea里配置。

在建好的module下面,选择Run-Edit Configurations...,窗口如下:

注意右下方的Emulator选项,Prefer Android Virtual Device选项,应该是空的(因为文章是我配置过的,希望大家充分发挥自己的想象力,就当那是空的),选择按钮...,弹出来跟上面一样的图,发现这时的Target选择可以选,果断选择一个。填上该填的,内容如下:

点击OK,这样avd就新建好了。

5. 运行工程

第一次运行android工程(有点小激动,第一次hello word出来时候的感觉,程序员都知道),发现失败了,原因未知,再一次疯了。

继续尝试解决问题,还是去Edit Configurations...页,点击...按钮,出来这个窗口:

选中emulator那一行,再选择右边的Start按钮,发现启动失败,错误提示如下:

"Failed to start emulator: Cannot run program "/home/q/adt-bundle-linux-x86-20131030/sdk/tools/emulator": java.io.IOException: error=2, No such file or directory".

googlestable一搜(公司大神推荐的google的代替品,貌似没有被墙),stackoverflow有相同的问题(一阵窃喜,stackoverflow,大爱啊),第一个回答就解决了问题:If you're running a 64-bit system, you need to install ia32-libs:
sudo apt-get install ia32-libs安装花了一会时间,再次点击运行按钮,结果如下:
 
结果终于出来了(开机好慢,是电脑问题吗?以后解决)。

至此,android环境配置完成了,这只是android开发的漫漫长路的开始,以后还会遇到各种困难,希望自己能知难而上,勇攀android高峰。
最后再吐槽一下ubuntu自带的截图工具(用了一年了),真难用,竟然不能自动匹配窗口大小,比QQ截图差远了

转载于:https://www.cnblogs.com/peiyuc/p/3840112.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

typeof的用法

typeof可以返回变量的类型,返回值为字符串,其值有 "undefined" "boolean" "string" "number" "object" "function" 而 typeof(null)会返回object 转载于:https://www.cnblogs.com/lhyhappy…

opencv 最大连通域_opencv 查找连通区域 最大面积实例

今天在弄一个查找连通的最大面积的问题。要把图像弄成黑底,白字,这样才可以正确找到。然后调用下边的方法:RETR_CCOMP:提取所有轮廓,并将轮廓组织成双层结构(two-level hierarchy),顶层为连通域的外围边界,次层位内层边…

JS 函数柯里化

在计算机科学中,柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。——详见 维基百科柯里化就是预先将某些参数传入,得到一个简单…

LTI系统的物理可实现性与希尔伯特变换

产品的设计一般为线性时不变系统,要求系统具有物理可实现性,从时域上看,h(t)具有因果性;从频域上看,|H(jw)|符合佩利—维纳准则。任何具有因果性的系统,|H(jw)|的实部R(w)满足希尔伯特变换,|H(j…

垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想

Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来參加Delphi XE5的公布会的。 有人可能要问为什么是Embarcadero (名称很拗口)而不是Borland 开Delphi 公布会, 这是由于Borla…

iOS Appstore 版本更新

1,版本更新 通过比较构建号/版本号 检查更新 /// 构建号 50 // NSString * currentVersion [NSBundle mainBundle].infoDictionary["CFBundleVersion"];/// 版本号 2.2.0//CFBundleShortVersionStringNSString * currentVersion [NSBundle mainBund…

ubuntu下安装国际版QQ

在网上看到了好多的ubuntu下安装QQ的方法 好多 下面是看别人的文章 来测试的一篇 ubuntu下 安装国际版QQhttp://www.ubuntukylin.com/applications/showimg.php?langcn&id23下载 地址网盘:http://yun.baidu.com/share/link?shareid2983202140&uk202032639下载好以后 …

傅里叶变换应用——信号调制与解调

傅里叶变换的典型应用主要用于通信的信号调制与解调,信号调制的目的是将信号进行变换,使其便于传输。频率调制是将低频信号调制到高频载波信号上。同步信号解调是接受系统产生同步的高频载波信号进行解调,从调制信号中恢复原信号的过程。调制…

cocos2d-x返回Android游戏黑屏解决办法

返回Android游戏黑屏解决办法这几天逛cocos2d-x.org论坛,发现cocos2d-x的作者放出来一个帖子,用来解决返回Android游戏加载资源时黑屏的问题。帖子过些日子估计就沉了,所以转出来,以供后面查询。需要修改三个文件:1) c…

vue重要特性

重要特性 自定义input组件动态组件递归组件slot作用域slot异步组件内联模板子组件索引进阶 自定义指令状态管理vuex单文件组件生产部署路由xxx

连续时间系统与离散时间系统的时域分析对比

通过学习离散时间系统的时域分析,发现其与连续时间系统的时域分析有很多相似之处,自己做了一个专题拓展,从数学模型描述到时域分析方法对两大系统进行横向对比,总结两者之间的联系和异同点。

python获取当前时间的源代码_Python获取时间戳代码实例

1、获取秒级时间戳与毫秒级时间戳、微秒级时间戳import timeimport datetimet time.time()print (t) #原始时间数据print (int(t)) #秒级时间戳print (int(round(t * 1000))) #毫秒级时间戳print (int(round(t * 1000000))) #微秒级时间戳返回1499825149.257892 #原始时间数据…

AutoLayout bug集合

NSInternalInconsistencyException, reason: <NSISEngine: 0x16d5ef10>... http://stackoverflow.com/questions/28111635/ios-aspect-ratio-constraint-breaks-on-ios7-works-on-ios8 这好像是ios7.1的bug,对浮点数计算有误,一般添加按钮比例约束的时候multiplier值都是…

[SQL Server]重命名数据库【转】

原文链接&#xff1a;http://www.cnblogs.com/Ryan_j/archive/2011/04/03/2004428.html 重命名数据库很简单&#xff0c;选择数据库--右键--重命名数据库 或者 sp_renamedb oldDB ,newDB 但是你再新建的相同名字的数据库就会报错&#xff0c;提示数据库已经存在 比如test数据库…

DCOS实践分享(4):如何基于DC/OS整合SMACK(Spark, Mesos, Akka, Cassandra, Kafka)

这篇文章入选CSDN极客头条 http://geek.csdn.net/news/detail/71572 当前&#xff0c;要保证业务的市场竞争力&#xff0c;仅靠设计一个可用并且好看的产品&#xff0c;已经完全不能满足要求。全球消费者都希望产品能够足够的智能化&#xff0c;通过大数据分析来改善他们的用户…

连续系统的卷积积分与离散系统的卷积和

在LTI连续系统中&#xff0c;以冲激函数为基本信号&#xff0c;将任意信号分解&#xff0c;从而得到连续系统的零状态响应等于激励与系统冲激响应的卷积积分 &#x1d466;&#x1d467;&#x1d460;&#x1d461;&#x1d453;&#x1d461;∗h&#x1d461; 在LTI离散…

自学python从零开始学_新手学习python-从零开始学习

1.学习pythonurllib2 常用方法urlopen(url, data, timeout)urllib2.Request()urllib.urlencode()params {}get : url "?" paramshttp:请求分析User-Agent : 有些服务器或 Proxy 会通过该值来判断是否是浏览器发出的请求Content-Type : 在使用 REST 接口时&#x…

【数据结构】图的深度优先搜索

图的深度优先搜索类似于树的深度优先搜索。不同的是&#xff0c;图中可能包括循环&#xff0c;即我们有可能重复访问节点。为了避免访问已经访问过的节点&#xff0c;我们要使用一个布尔变量的数组。 例如&#xff0c;在下图中&#xff0c;我们从节点2开始访问。当访问到节点0&…

flex中dispatchEvent的用法(自定义事件) .

Evevt和EventDispatcher类在as3的事件机制中是很重要的角色&#xff0c;dispatchEvent()是EventDispatcher类的一个事件发送方法&#xff0c;它可以发送出Event类或其子类的实例&#xff0c;在as3中所有的显示对象都可以发送事件&#xff0c;因为as3中所有的显示对象都是EventD…

菜鸟超级进口大仓618首度亮相!跨境商品也能当日次日达

6月12日下午3点40分&#xff0c;来自南京的一名用户收到了由宁波保税仓发出、圆通速递配送的雀巢咖啡&#xff0c;这距离他在天猫国际上下单仅过去4小时。 天猫618在昨日迎来进口日&#xff0c;进口销量火爆上升。作为国内最为先进的跨境进口仓&#xff0c;菜鸟超级大仓在本次大…