Android笔记1——开发前奏1开发环境搭建和开发工具使用介绍
成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、四川联通机房服务器托管、等保安全、私有云建设等企业级互联网基础服务,咨询电话:18980820575
一背景知识
1.1G-4G的介绍
Generation(一代)
WAP(wait and pay)
Wireless Markup Language(WML)精简版的html语言
二.Android概述
1.Android操作系统介绍
2.Android历史介绍
3.Android系统架构(重点)
第一层:应用层Application
第二层:应用框架层ApplicationFramework(中间件)
第三层:Android底层类库层Libraries、Dalvik虚拟机
第四层:linux内核层 linux kernel(安全管理、内存管理、进程管理、电源管理、硬件驱动)
Android试运行在Linux内核基础之上的。
4.手机设备的软件栈,包括
一个完整的操作系统
中间件
关键的应用程序
5.两种虚拟机的不同 (重点)
1)、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。
2)、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。
三.Android开发环境搭建和开发工具使用介绍
(一).SDKManger的使用
1.可以在里面管理SDK版本的下载和卸载。(SDK下载到platform文件夹中)
2.ADT(AndroidDeveloper Tools)是eclipse的一个插件
3.
1)下载的包中有:
Eclipse+ADT plugin --- ADT的插件;
Android SDK Tools --- 安卓的SDK工具
Android Platform-Tools --- 安卓最新的平台工具
The latest Android platform --- 安卓最新的平台
The latest Android System p_w_picpath for Theemulator --- 最新的模拟器的视图对象
2)解压后,里面有三个文件和一个执行程序。
Eclipse 文件夹是开发时用到的工具。
sdk 文件夹是开发时用到的工具集。
SDK Manager.exe SDK的管理器
4.
注意:SDK Manage中Tools选项有options选项,打开,将others选项卡中的第一个选项勾上,勾上后,资源会采用http的形式下载下来,下载不会被墙,不会中断。
5.Android 版本与API等级对应关系及SDKManager介绍
1)Android 版本与API等级对应关系
Platform API Level
Android2.2 8
Android2.3.3 10
Android4.0 14
Android4.1.2 16
注:推荐在android2.2、2.3、4.1平台上开发,稳定。
2)SDKManager介绍
【开发中需要开发哪个平台的产品,就要将对应的平台文件下载下来。下载完之后,该文件夹会在SDK文件夹下的platform文件夹中。】
每个安卓版本下具体文件的介绍:
SDKPlatform-- 开发所需要的平台(重要),开发时所使用的jar包
Samplesfor SDK-- SDK的示例代码【示例代码下载之后放在SDK文件夹中的samples 文件夹中,里面是根据Android版本号分文件夹的。】
ARM EABI v7a System Image-- 用于创建基于ARM处理器的模拟器的镜像
Intelx86 Atom System Image-- 用于创建基于x86处理器的模拟器的镜像
MIPSSystem Image-- 开源的处理器架构(用的不多)镜像
GoogleAPIs-- 开发中要用到地图,就需要下载这个架包,下载之后可以操作Google 地图了。
Sourcesfor Android SDK-- SDK的全部的源代码,方便调试,观察系统是怎么实现 【会放在SDK文件夹中的sources文件夹中的Android版本的文件夹中】
Extras-- 额外的工具
AndroidSupport Library-- 支持的库(可以使低版本支持高版本),API的向下兼容, 开发项目时会用到
GoogleAdMob Ads SDK-- 用于在已完成的程序中加入广告
GoogleAnalytics App Tracking SDK-- 用于分析程序的,发布到网上之后,可以通过 这个区跟踪。
GoogleCloud Messaging for Android Library-- 用于消息推送
GooglePlay services-- 程序写完后想要发到Google上,要用到的架包
GooglePlay APK Exception Library--
GooglePlay Billing Library--
GooglePlay Licensing Library--
GoogleUSB Driver-- 是手机的驱动。
GoogleWeb Driver-- 是web摄像头用到的驱动
Intelx86 Bmulator Accelerator(HAXM)-- Intel公司提供的一个加速器的工具
【使用:找到“模拟器的 加速器”文件夹,打开里面的执行文件即可,本机 的处理器要I3以上】
(二).模拟器的简介及创建
1.模拟器尺寸创建背景
VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
注:模拟器越大,计算越复杂,消耗的资源越多。
2.AVD的创建(AVD: Android virtual Device安卓虚拟设备)
1)两个选项卡,一个是AVD,下面显示,AVD创建设备产生文件的存放目录
另一个是DeviceDefinitions(已定义好的设备)
2)创建模拟器界面的每项的意思:
AVD name:模拟器名称;
Device:屏幕分辨率;
Target:平台版本号;
CPU/ABI:CUP(处理器)的类型
KeyBoard:创建的时候是否显示键盘;
Skin:在创建的时候,是否显示键盘上面的皮肤
Front Camera:
Back Canera:控制模拟器的摄像头,Webcam0-->自动加载电脑的摄像头
Memory Options:RAM-->模拟器的内存大小
Internal Storage:模拟器的硬盘有多大;
SD Card:外部设备的大小(不要贪多,是在硬盘上创建同样大小的文件作为sd卡)
Emulation Options:Snapshot-->相当于windows-7的睡眠状态,即关机之后,下次开机的时候,这些操作还在,不建议勾选容易造成问题
UseHost GPU-->如果电脑是独立显卡,可以使画面流畅,如果是集成显卡的,容易造成画面变花
注意:1.模拟器与电脑的链接其实用的是adb.exe调试桥(协议通信)
2.模拟器左上角的数字,其实是模拟器的端口号,也是模拟器的电话号(模拟器不支持中文)
3.小技巧:ctrl + F11 横竖屏的切换
3.创建模拟器常见错误:
1)、invalidcommand-line parameter:
错误的非法的路径,代表安装的路径有中文。添加“Android_SDK_HOME”环境变量,指向Android的SDK目录。然后重启AVD-->模拟器
2)、模拟器启动后,无法保存数据
原因:电脑意外关机或者模拟器非法关闭。
正常情况下模拟器被开启后,会在“Documents and Settings\Administrator\.android\avd\**.avd”的目录下产生:cashe.img.lock 、hardware-qemu.ini.lock、sdcard.img.lock、userdata-qemu.img.lock这样的文件夹,用来标记当前模拟器设备已经开启。当模拟 器关闭时,会自动删除这些文件夹。
【注:如果电脑意外重启或模拟器无法关闭,这几个文件是不会被自动删除的,系统Android模拟器还处于打开状态,新开启的模拟器就无法保 存数据了。这个时候需要手动删除这些文件夹】这些文件时用来标示这些径向文件被那个模拟器使用了
文件夹cashe.img.lock中的pid文件这个文件打开之后,里面保存的是进程里面的某个pid值,即为进程id。当开启两个相同的模拟器时,会造成 某些安装的软件没有保存。
3)、“尚未注册网络”错误信息的解决方案
a:电脑没有连接互联网,同时也没有局域网;网上邻居-->属性-->本地连接-->属性:设置TCP/IP:
IP地址:192.168.1.100
子网掩码:255.255.255.0;
默认网关:192.168.1.100
首选DNS服务器:192.168.1.100
b:没有连接互联网,但是有局域网;
IP地址:设置成你所在的局域网的IP;
子网掩码:设置成你所在局域网的掩码;
默认网关:设置成你所在局域网的网关;
首选DNS服务器:设置成你所在的局域网的路由器IP
(三).DDMS介绍
1.释义:DDMS:DeviceDefinition Motion Service
2.DDMS位置
如果eclipse右上角默认没有这个条目,那么在这个位置附近有个类似田字格似的小方块,点击,选other,会出现一个列表,内有DDMS,选中,按OK,即可。
3.DDMS界面
1)上图1处为Devices界面,显示当前eclipse所连接的设备
2)上图2处的界面中有几个选项卡
Threads为了调试方便,检测一个进程中的线程
Heap 是观察应用程序的堆栈信息的
FileExplorer 列出当前选中的Android设备的文件目录结构
EmulatorControl 对当前所选中的Android设备进行模拟操作,这其中也有几个选项
TelephonyStatus:电话状态,示例:Speed代表手机网络信号的速度变化。
Telephony Actions:电话动作 ,可以向模拟器打电话、发短信
示例:Call 是向模拟器打电话
Hangup 是让模拟器主动挂断电话
LocationControls
Longitude(经度),latitude(纬度)
(四)SDK目录介绍
add-ans: 扩展的插件,附加的信息
docs: 帮助文档,经常用
extras: 附加的目录,支持的jar包
platforms: 平台目录
platform-tools:开发时用到的工具。包含
adb.exe【Androiddebug bridge:安卓的调试桥,用于调试程序】、
aapt.exe【applicationpackage tools:安卓程序打包工具,完成的程序要打包成一 个.apk的文件】
dx.bat【将.class的字节码文件转换成.dex字节码文件,因为Android里面执行的 是.dex字节码文件】
samples: 示例代码
sources: 源代码目录
system-p_w_picpaths:镜像目录
temp: 缓存文件
tools:新建的模拟器一般都放在该文件夹下,里面还包含一些工具:mksdcard.exe-->创 建一个sd卡,就是模拟器运行需要一个sd卡,这个就是在硬盘拟sd卡。【放的 是与模拟器相关的一些工具】
(五)adb常见命令及相关问题
1.adb: Android debug bridge:安卓的调试桥,用于调试程序
2.常见命令:
adbdevices 列出所有的设备
可以列出包括真机的android设备,如果真机没有显示出来,检查两个地方: 真机的驱动是否安装和USB调试是否打开
adbshell挂载到linux的空间 远程的访问到了模拟器终端
#ls列出手机文件目录
#ps列出手机运行的进程
#ping
adbkill-server杀死服务
adbstart-server开启服务
如果不想敲这条命令,可以先敲adb devices,系统会自动开启服务,再检索
adb install xxx.apk 安装应用,敲完install可以把安装包直接拖拽到命令行窗口。
如果有多个设备,我们可以指定设备
adbinstall–s emulator-5554 D:/xxx.apk
否则会报错:error:morethan one device and emulator
adb uninstall com.itheima.helloworld(程序包名称,而不是显示给用户的名称)
adbpull
adbpush
androidcreate avd–nameandroid2.2–target 8 创建模拟器
emulator–avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2为我们创建设备名称)
mksdcard20m d:/sdcard.img创建sdcard
3.问题及解决
1)adb是用socket写的。而socket本身不稳定,这样当网络出现了问题,或者端口被占用掉,adb就会挂掉, socket也就绑定失败了。
解决方式1:
在DDMS中,左侧设备这边有个倒三角小箭头,点开,列表中有个选项:Reset adb.作用是将adb杀死,再重启。
解决方式2:
其实DDMS所做的原理是这样的,我们也可以直接这样做:
在命令行里输入:adb kill-server
这时我们在使用模拟器时会报这样的错误:
Adbconnection Error 远程主机强迫关闭了一个现有的连接
我们需要在命令行输入:adb start-server 服务就会重启。
但是如果服务没有启动,说明adb.exe进程可能无响应,在任务管理器中,进程选项卡中,找到adb.exe的进程,结束该进程。
如果发现进程结束不了,出现:can’t find 5037的错误,说明有应用软件,将5037这个端口号占用,在命令行中输入:netstat -ano列出当前端口号占用情况
这其中,外部地址为:端口号可以通过查找端口号为5037lai 查看是哪个PID,再在进程管理器中通过PID,来查看是哪个应用占用,结束应用,如果是eclipse占用,属于正常。
2)360,豌豆荚等第三方手机助手应用会内置adb,eclipse也会内置有adb,这样当他们同时运行时会造成不同的adb之间抢占同一端口,致使adb不稳定影响我们开发.只需关闭停止这些第三方手机助手的应用和服务即可。
当前文章:Android笔记1——开发前奏1开发环境搭建和开发工具使用介绍
当前网址:http://cdiso.cn/article/gogiee.html