Android开发从零开始(1)--2016.01.18
来源:互联网 发布:单片机烟雾报警器 编辑:程序博客网 时间:2024/05/21 10:02
Android开发从零开始
原来在大学的时候学习过安卓开发,记得当时是跟着传智播客黑马java班看完了整个android开发的部分,写了一两个小程序,后来还做了本科的毕业设计,用的就是android,不过那时候的4.0才刚刚出来,全国广大android手机还跑在2.2与2.3的版本上,一眨眼android 6.0已经发布好几个月了,感觉可以还是学习一下android开发,以备不时需。
准备重新开始学习,从头开始,发现阅读官网的http://developer.android.com/training/index.html还是蛮不错的入门方法,注意需要翻墙。
在根据官方文档进行第一步创建android项目时,就出现了如下错误:
<style name="Base.TextAppearance.AppCompat.Widget.Button.Inverse" parent="android:TextAppearance.Material.Widget.Button.Inverse"/><style name="Base.Widget.AppCompat.Button.Colored" parent="android:Widget.Material.Button.Colored"/>
好久没有接触android,而且原来的开发环境也是eclipse + adt,也是第一次接触Android studio。在经过一番百度与google之后,尝试了一些很不靠谱的方法后。据说是1.3.1版本的bug,不过mac端1.3.2版本也有这个问题。索性重新安装sdk,发现是sdk中又很多没有下载,重新下载全部sdk后问题消失。
根据官网的步骤,创建了一个新的project,然后运行它。
需要创建一个虚拟机,虚拟机有两种,arm和x86的
传统的虚拟机都是基于ARM构架的,X86的都是基于INtel的
在创建的虚拟机中arm虚拟机,比较慢,运行和加载都比较缓慢
Android studio会自动提示,若创建一个基于X86的虚拟机,会提高10倍性能。
但是在mac下创建X86虚拟机报错如下:
emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAXM must be updated (version 1.1.5 < 6.0.1).
开始以为是SDK中的HAXM没有下载,打开sdk manager发现,HAXM已经下载了,但是启动虚拟机的时候还是会报错。
在stack overflow中找到方法,前往你SDK的安装路径,找到extras\intel文件夹,运行对应的HAXM dmg文件,安装intel的HAXM
我的版本你是6.0.1
根据安装提示,一步一步安装即可,在intel HAXM安装完毕后,再次启动X86的虚拟机,正常启动,启动和相应速度确实完爆arm,原来开发的时候用的genymotion,但是现在好像收费了,暂时不能再使用了,先使用这个虚拟机。
在项目部署在X86虚拟上后,报如下错误
[2012-06-17 00:03:26 - ddmlib] Broken pipe
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:122)
at sun.nio.ch.IOUtil.write(IOUtil.java:93)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:352)
at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
at com.android.ddmlib.Client.sendAndConsume(Client.java:575)
at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)
at com.android.ddmlib.Client.requestAllocationStatus(Client.java:421)
at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:837)
at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:805)
at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:765)
at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:652)
at com.android.ddmlib.DeviceMonitor.access
如果有人使用eclipse和android工作室在一起,然后由eclipse会抛出这个错误。 所以即使你选择设备通过摘要,它会抛出这个错误。
嗯,入门第一课结束了。
- Android开发从零开始(1)--2016.01.18
- Android开发从零开始(2)--2016.01.18
- android开发从零开始1
- [Android开发从零开始].15.Service学习(1)
- 从零开始Android NDK 开发(一)
- 从零开始开发Android版2048 (六)
- 从零开始开发Android版2048 (七)
- 从零开始开发Android版2048 (八)
- 从零开始开发Android版2048 (九)
- 从零开始开发Android版2048 (十)
- android开发从零开始
- Android开发从零开始
- Android开发从零开始
- android开发从零开始2
- Android开发从零开始笔记
- Android开发从零开始
- 从零开始学Android (1)
- 第1步:搭建Android的开发环境(从零开始学Android)
- webrtc代码更新
- C++制作俄罗斯方块 日志
- 你所谓的努力,有事其实一文不值-------献给深陷bat的码农们
- 使用Qt制作一个简易计算器
- switch里面不能做什么?
- Android开发从零开始(1)--2016.01.18
- sublime Text2编译lua(windows平台)
- AES加解密以及示例
- CBC6 皮肤VclSkin5.6的安装
- Java抽象类与抽象方法
- 实习期间的心态调整
- 我的Android进阶之旅------>关于使用CSDN-markdown编辑器来编写博客
- 复数相关的等式及证明
- 手机横屏切换竖屏导致捕鱼充值界面崩溃