Android笔记1——开发前奏1开发环境搭建和开发工具使用介绍

转载请注明http://www.cnblogs.com/devtrees/p/4382234.html

欢迎指正错误,共同进步!

一背景知识

1.1G-4G的介绍

Generation(一代)

WAP(wait and pay)

Wireless Markup Language(WML)精简版的html语言

二.Android概述

1.Android操作系统介绍

2.Android历史介绍

3.Android系统架构(重点)

第一层:应用层Application

第二层:应用框架层Application Framework(中间件)

第三层: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(Android Developer Tools)是eclipse的一个插件

3.

1)下载的包中有:

Eclipse+ADT plugin --- ADT的插件;

Android SDK Tools --- 安卓的SDK工具

Android Platform-Tools --- 安卓最新的平台工具

The latest Android platform --- 安卓最新的平台

The latest Android System image for The emulator --- 最新的模拟器的视图对象

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文件夹中。】

每个安卓版本下具体文件的介绍:

SDK Platform -- 开发所需要的平台(重要),开发时所使用的jar包

Samples for SDK -- SDK的示例代码【示例代码下载之后放在SDK文件夹中的samples             文件夹中,里面是根据Android版本号分文件夹的。】

ARM EABI v7a System Image -- 用于创建基于ARM处理器的模拟器的镜像

Intel x86 Atom System Image -- 用于创建基于x86处理器的模拟器的镜像

MIPS System Image -- 开源的处理器架构(用的不多)镜像

Google APIs -- 开发中要用到地图,就需要下载这个架包,下载之后可以操作Google            地图了。

Sources for Android SDK -- SDK的全部的源代码,方便调试,观察系统是怎么实现                【会放在SDK文件夹中的sources文件夹中的Android版本的文件夹中】

Extras -- 额外的工具

Android Support Library -- 支持的库(可以使低版本支持高版本),API的向下兼容,            开发项目时会用到

Google AdMob Ads SDK -- 用于在已完成的程序中加入广告

Google Analytics App Tracking SDK -- 用于分析程序的,发布到网上之后,可以通过            这个区跟踪。

Google Cloud Messaging for Android Library -- 用于消息推送

Google Play services -- 程序写完后想要发到Google上,要用到的架包

Google Play APK Exception Library --

Google Play Billing Library --

Google Play Licensing Library --

Google USB Driver -- 是手机的驱动。

Google Web Driver -- 是web摄像头用到的驱动

Intel x86 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创建设备产生文件的存放目录

另一个是Device Definitions(已定义好的设备)

2)创建模拟器界面的每项的意思:

AVD name:模拟器名称;

Device:屏幕分辨率;

Target:平台版本号;

CPU/ABI:CUP(处理器)的类型

KeyBoard:创建的时候是否显示键盘;

Skin:在创建的时候,是否显示键盘上面的皮肤

Front Camera

Back Canera:控制模拟器的摄像头,Webcam0-->自动加载电脑的摄像头

Memory Options:RAM-->模拟器的内存大小

Internal Storage:模拟器的硬盘有多大;

SD Card:外部设备的大小(不要贪多,是在硬盘上创建同样大小的文件作为sd卡)

Emulation OptionsSnapshot-->相当于windows-7的睡眠状态,即关机之后,下次开机的时候,这些操作还在,不建议勾选容易造成问题

Use Host GPU-->如果电脑是独立显卡,可以使画面流畅,如果是集成显卡的,容易造成画面变花

注意:1.模拟器与电脑的链接其实用的是adb.exe调试桥(协议通信)

2.模拟器左上角的数字,其实是模拟器的端口号,也是模拟器的电话号(模拟器不支持中文)

3.小技巧:ctrl + F11 横竖屏的切换

3.创建模拟器常见错误:

1)、invalid command-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:Device Definition Motion Service

2.DDMS位置

如果eclipse右上角默认没有这个条目,那么在这个位置附近有个类似田字格似的小方块,点击,选other,会出现一个列表,内有DDMS,选中,按OK,即可。

3.DDMS界面

1)上图1处为Devices界面,显示当前eclipse所连接的设备

2)上图2处的界面中有几个选项卡

Threads 为了调试方便,检测一个进程中的线程

Heap 是观察应用程序的堆栈信息的

File Explorer 列出当前选中的Android设备的文件目录结构

Emulator Control 对当前所选中的Android设备进行模拟操作,这其中也有几个选项

Telephony Status:电话状态,示例:Speed代表手机网络信号的速度变化。

Telephony Actions:电话动作 ,可以向模拟器打电话、发短信

示例:Call 是向模拟器打电话

Hang up 是让模拟器主动挂断电话

Location Controls

Longitude(经度),latitude(纬度)

(四)SDK目录介绍

add-ans: 扩展的插件,附加的信息

docs: 帮助文档,经常用

extras: 附加的目录,支持的jar包

platforms: 平台目录

platform-tools:开发时用到的工具。包含

adb.exe【Android debug bridge:安卓的调试桥,用于调试程序】、

aapt.exe【application package tools:安卓程序打包工具,完成的程序要打包成一                    个.apk的文件】

dx.bat【将.class的字节码文件转换成.dex字节码文件,因为Android里面执行的                    是.dex字节码文件】

samples: 示例代码

sources: 源代码目录

system-images:镜像目录

temp: 缓存文件

tools:新建的模拟器一般都放在该文件夹下,里面还包含一些工具:mksdcard.exe-->创            建一个sd卡,就是模拟器运行需要一个sd卡,这个就是在硬盘拟sd卡。【放的                是与模拟器相关的一些工具】

(五)adb常见命令及相关问题

1.adb: Android debug bridge:安卓的调试桥,用于调试程序

2.常见命令:

adb devices 列出所有的设备

可以列出包括真机的android设备,如果真机没有显示出来,检查两个地方:            真机的驱动是否安装和USB调试是否打开

adb shell 挂载到linux的空间 远程的访问到了模拟器终端

#ls 列出手机文件目录

#ps 列出手机运行的进程

#ping

adb kill-server 杀死服务

adb start-server 开启服务

如果不想敲这条命令,可以先敲adb devices,系统会自动开启服务,再检索

adb install xxx.apk 安装应用,敲完install可以把安装包直接拖拽到命令行窗口。

如果有多个设备,我们可以指定设备

adb install –s emulator-5554 D:/xxx.apk

否则会报错:error:more than one device and emulator

adb uninstall com.itheima.helloworld(程序包名称,而不是显示给用户的名称)

adb pull <remote> <local> 把手机内文件复制到电脑 最先在命令行中进入到你想到复制到哪的目录下再执行这条语句先手机的文件(不用加路径,直接文件名加扩展名) 后复制过来的文件名(也不用加路径,直接文件名加扩展名)

adb push <local> <remote>把电脑中文件复制到手机 最先在命令行中进入到你所想要复制文件的目录下再执行这条语句 先电脑的文件(不用加路径,直接文件名加扩展名) 后复制过来的路径(根目录/加上父目录)加文件名(文件名加扩展名)

android create avd –name android2.2 –target 8 创建模拟器

emulator –avd advname 启动模拟器 例如:emulator –avd 2.2 (2.2 为我们创建设备名称)

mksdcard 20m d:/sdcard.img 创建sdcard

3.问题及解决

1)adb是用socket写的。而socket本身不稳定,这样当网络出现了问题,或者端口被占用掉,adb就会挂掉, socket也就绑定失败了。

解决方式1:

在DDMS中,左侧设备这边有个倒三角小箭头,点开,列表中有个选项:Reset adb.作用是将adb杀死,再重启。

解决方式2:

其实DDMS所做的原理是这样的,我们也可以直接这样做:

在命令行里输入:adb kill-server

这时我们在使用模拟器时会报这样的错误:

Adb connection 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不稳定影响我们开发.只需关闭停止这些第三方手机助手的应用和服务即可。

时间: 2024-10-14 07:25:49

Android笔记1——开发前奏1开发环境搭建和开发工具使用介绍的相关文章

微信公众平台开发(一)——环境搭建与开发接入

一. 初始微信公众平台 微信公众平台,即我们平时所说的“公众号”,曾用名“官方平台”.“媒体平台”,但最终命名为“公众平台”.从微信的命名我可以发现,公众平台不只是官方.媒体使用的平台,而是对所有公众都开放的统一平台. 微信公众平台地址:https://mp.weixin.qq.com/ 微信公众平台公分4大板块:订阅号.服务号.小程序.企业号.企业号后续将与企业微信合并,因此主要针对前三部分开始了解: 1. 订阅号和服务号均为传统意义的“公众号”,具有消息群发能力,详细区别可在官方平台查看:h

10分钟入门微信小程序开发:从环境搭建到开发出第一个程序。

小程序简介 小程序是一种不需要下载安装即可使用的快速应用,它实现了应用“触手可及”的操作:用户扫一扫或搜一下即可打开应用,完全不需要安装,因此小程序不仅可提高的用户的应用体验,也方便应用的传扩散. 本文带大家快速入门小程开发,了解从环境搭建到开发出一个简单hello world程序,从而上手小程序开发,让你快速成功小程序开发人员.之后,想开发什么样的小程序,就可以自己研究和努力了. 下面,是循序渐经的步骤: ?1.注册小程序 在开发之前,当然需要先注册一个小程序账号. 进入“微信公众平台”进行注

eclipse开发cocos2dx 3.2环境搭建之一: Android C\C++环境搭建(ndk r9d)

这几天有时间,琢磨一下cocos2dx.cocos2d家族其实挺庞大的,也有cocos2d-android这种可以直接用Java语言来开发的,但是cocos2d-android资料相对少一些,而且貌似都是几年前的.对比一下还是cocos2dx比较流行,有可以跨平台,而且既然要学就一起把c++学了. 这段时间已经用惯了idea,不太想换回去,但是查了查发现idea还不能做c++开发.国内倒是有家公司开发了一款idea的cocos插件,不过其实是cocos2dx-js,好像最新版的又加入了cocos

我的第一个phonegap开发WebApp的demo 怎么搭建安卓开发环境以及安装phonegap

一.先来张图,赏心悦目观赏一下,哈 . 这个就是使用phonegap框架搭建起来的,运行在安卓环境上的第一个demo. 安卓的开发环境,大家都会搭建了,所以不赘述.讲一下,安装phonegap的步骤. 二.phonegap的安装   1. 设置系统变量系统变量 Path后面添加:(以下变量都是必须的,路径根据自己的设置)E:\android_sdk\sdk\tools;E:\android_sdk\sdk\platform-tools;E:\android_sdk\eclipse\plugins

php开发小技巧--快速环境搭建

前几天同学让我帮忙调试一个PHP后台的网站,我擦,我都没有环境你丫还非得让我本地跑,不肯给我权限.我只想说三个字,你丫就是王八蛋.希望你看不到我写的这篇文章. now,吐槽结束,正题开始.下面介绍快速搭建一个PHP开发环境搭建的小技巧.no big deal,就是一个开源的软件.名字是PHPnow.它是Apache+PHP+ MySQL环境套件包,这种集成的开发环境的好处是,它用脚本的方式帮你做了各种缺省的配置,满足你的基本的需求.如果想更高级,对不起,自己定制. 下面用一个很久之前写的程序演示

eclipse开发cocos2dx 3.2环境搭建之三: ccp-tests项目编译 (this project is not a CDT project)

cocos2dx还有一些测试项目,3.2版本都在安装目录下的tests文件夹下.其中ccp-tests项目包含非常多的使用示例,初学者可以通过熟悉学习这个项目快速的了解cocos2dx的基础知识. 自己在测试cpp-tests项目时还是遇到了一些东西,这次就总结一下. 进入ccp-tests目录可以看到与之前的测试项目结构是一样的. 刚开始直接用eclipse导入了这个项目("File->New->Other->Android/Android Project from Exis

win7+Myeclipse10开发Hadoop应用程序环境搭建

1.复制linux下已配置安装好的hadoop目录进入windows, 同时修改hadoo-env.sh文件的JAVA_HOME为windows下的jdk目录. 2.复制hadoop-eclipse-1.2.jar插件进入myeclipse文件夹下dropins下 下载:我的文件下有一个以hadoop-eclipse1.2.rar文件(压缩包),下载下来,将后缀改为jar就可以了 3.重启myeclipse 4.配置:windows-Preference->windows下的hadoop目录 5

iOS开发——实战OC篇&amp;环境搭建之Xib(玩转UINavigationController与UITabBarController)

iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController) 前面我们介绍了StoryBoard这个新技术,和纯技术编程的代码创建界面,本篇我们将介绍一个老的技术,但是在很多的公司或者库里面还是使用这个技术,既然如此它肯定有他的好处,至于好处这里我就不一一介绍了.在Xcode5之前是只能使用Xib或者代码的,而代码又对于很多初学者来说算是一个难题.毕竟不知道怎么下手.所以我就总结了一下这段时间自己编写程序的一个实例来说明怎么

iOS开发——实战OC篇&amp;环境搭建之纯代码(玩转UINavigationController与UITabBarController)

iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController) 这里我们就直接上实例: 一:新建一个项目singleView Controller,命名未iCocos 二:由于我们使用的纯代码实现的,所以删除其中的StoryBoard和Viewtroller的两个文件 三:新建一个继承自TabBar Controller的类,我们命名问iCocos ViewController 三:在Appdelegate的实现文件中导入刚刚