Android应用开发环境的搭建和使用
主要包括Android SDK、Android开发工具;也包括如何使用Android提供的ADB、DDMS、AAPT、DX等工具,掌握这些工具是开发Android应用的基础技能。
1、Android的发展和历史:创始人Andy Rubin,Google收购。
2、Android平台架构及特性
Android系统的底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建。各层之间低耦合。
1)应用程序层
Android系统将会包含一些列的核心应用程序,包括电子邮件客户端、SMS程序、浏览器等等,这些程序都是用java编写的。
2)应用程序框架
Android应用程序框架提供了大量API供开发者使用。
3)函数库
Android包含一套被不同组件所使用的C/C++库的集合。一般来说,Android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库。
系统C库:一个从BSD系统派生出来的标准c系统库(libc),并且专门为嵌入式linux设备调整过。
媒体库:基于PacketVideo的openCORE。
Surface Manager:管理对显示子系统的访问,并可以对多个应用程序的2D和3D图层机提供无缝整合。
LibWebCore:一个全新的web浏览器引驚,为Android浏览器提供支持,也为webview提供支持。
SGL:底层的2D图形引驚。
3D libraries:基于OpenGL ES 1.0API实现的3D系统,这套3D库即可使用硬件3D加速,也可软件3D加速。
FreeType:位图和矢量字体显示。
SQLite:供所有应用程序使用的、功能强大的轻量级关系数据库。
4)Android运行时
Android运行时由两部分组成:Android核心库集和Dalvik虚拟机。其中核心库集提供了java语言核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序。JRE包括JVM和其他功能函数库;而此处的Android运行时则包括Dalvik虚拟机和核心库集。
每个Android应用程序都运行在单独的Dalvik虚拟机内,因此Android系统以方便的实现对应用程序进行隔离。Dalvik并未完全遵循JVM规范,两者不兼容。JVM虚拟机运行的是Java字节码(.class文件),而Dalvik需要通过DX工具将应用程序的所有.class文件编译成.dex文件才能运行。Dalvik特点:1、运行专有的.dex文件。2、基于寄存器实现。
Dalvik虚拟机依赖于Linux内核提供的核心功能,如线程和底层内存管理。
5)Linux内核
Android系统建立在Linux2.6之上。Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。除此之外,Linux内核也是系统硬件和软件叠层之间的抽象层。
3、搭建Android开发环境
1)windows下安装JDK
www.oracle.com->Downloads->java for developers->java se 8u65->选择JDK->Accept license agreement->windows x86(为32位操作系统)、windowsx64(为64位操作系统)->安装到D:\Java_jdk1.8.0_60->配置环境变量。
2)下载和安装Android SDK
下载ADT Bundle,因为它包含两个文件夹:eclipse和sdk,其中eclipse文件夹内是一个已安装了ADT插件的eclipse。
SDK文件夹下的内容:
add-ons:该目录下存放第三方公司为Android平台开发的附加功能系统,刚解压缩时为空。
platforms:该目录下存放不同版本的Android系统。刚解压缩时为空。
tools:该目录下存放了大量Android开发、调试的工具。
AVD Manager.exe:该程序是AVD(Android虚拟设备)管理器。通过该工具可以管理AVD。
SDK Manager.exe:该程序就是Android SDK管理器。通过该工具可以管理Android SDK。
启动SDK Manager.exe,下载所需平台和工具:其中Android文档,SDK Platform是必选的,如果想查看Android官方提供的示列程序,使用Android SDK的源代码,则可以勾选“Sample for SDK”和“Sources for Android SDK”两个列表项。
在安装完成后Android SDK目录下增加了如下几个文件夹:
docs:该文件夹存放了Android SDK开发文件和API文档等
extras:该文件夹下存放了Google提供的USB驱动、intel提供的硬件加速等附加工具包。
platform-tools:该文件夹下存放了Android平台相关工具。
samples:该文件夹下存放了不同Android平台的示列程序。
sources:该文件夹下存放了Android4.2的源代码。
为了在命令行窗口可以使用Android SDK的各种工具,建议奖Android SDK目录下的tools子目录、platform-tools子目录添加到系统的PATH环境变量中。
4、安装运行、调试环境
a)使用Android真机
b)配置Android虚拟设备(avd,Android virtual Device)
创建、删除、浏览AVD之前,通常应该先为Android SDK设置一个环境变量:ANDROID_SDK_HOME,该环境变量的值为磁盘上一个已有的路径。如果不设置该环境变量,开发者创建的虚拟设备默认保存在C:\Documents and Settings\<user_name>\.android目录下;如果设置了ANDROID_SDK_HOME环境变量,那么虚拟设备就会保存在%ANDROID_SDK_HOME%/.android路径下。
5、安装eclipse和ADT插件
1)登录www.eclipse.org->Eclipse IDE for Java EE Developers,下载windows平台下的eclipse-jee-juno-SR1-win32.zip针对32位系统,解压之,并运行eclipse。
2)http://developer.android.com/sdk/installing/installing-adt.html,下载ADT;启动eclipse,Help->install new software->add->archive->选择ADT插件->ok.
在eclipse中设置Android SDK路径,window->Preferences。
Android应用开发环境的搭建和使用的更多相关文章
- Android adt-bundle 开发环境的搭建_Linuxs
本文完全是拷贝的: https://www.jb51.net/article/87957.htm 的文章, 有需要请看原文, 拷贝仅用于学习记录. 本文与<利用adt-bundle轻松搭建An ...
- Android adt-bundle 开发环境的搭建_windows
本文完全拷贝的是: https://www.jb51.net/article/87953.htm 的文章仅仅用于自己保存学习消息. Android开发环境有三种方式,分别是JDK+SDK+Ecli ...
- android studio 开发环境的搭建
步骤如下: 下载安装配置JDK(注意配置环境变量JAVA_HOME Path CLASSPATH) 从官网下载Android Studio(可以下载带有SDK版本的) 安装Android Studio ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- Android开发环境的搭建
在学习android时,环境的搭建是学习android的第一步,为了记住第一步特写了这篇文章. 第一步,安装jdk,因为eclipse的运行需要jdk才可以,所以jdk的安装时第一步.安装过程和普通的 ...
- 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 搭建Android底层开发环境
为了开发linux驱动方便些,我们一般将linux作为Android的开发环境,那么就需要搭建Android的开发环境,下面是一些搭建Android底层时的心得: (1)安装JDK:除了普遍使用的下载 ...
- Linux环境下Android开发环境的搭建
本文主要介绍在Ubuntu下Android开发环境的搭建,所使用的IDE为Eclipse(Android Studio同理,且可省去配置SDK以及安装adt插件的步骤). 1.安装JDK (1)JDK ...
- Android开发新手学习总结(一)——使用Android Studio搭建Android集成开发环境
[新手连载]一:使用Android Studio搭建Android集成开发环境http://bbs.itcast.cn/forum.php?mod=viewthread&tid=87055&a ...
随机推荐
- 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解 20165222
Exp1 PC平台逆向破解 1,掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP:空指令,作用就是直接跳到下一指令.机器码为:90. JNE:判断0标志位,不等于0跳转.机器码 ...
- html页面中event的常见应用
一:获取键盘上某个按键的unicode值 <html> <head> <script type="text/javascript"> funct ...
- TortoiseSVN 结合使用哪个问题跟踪系统比较好?TRAC?REDMINE?都有什么优缺点?
TortoiseSVN 结合使用哪个问题跟踪系统比较好?TRAC?REDMINE?都有什么优缺点? -------------------------------------------------- ...
- python学习(二)—简明python教程
2016-04-14 20:55:16 八.模块 简介 前面介绍了如何在程序中定义一次函数而重用代码.在其他程序中重用很多函数,就需要使用模块.模块基本上就是一个包含了所有你定义的函数和变量的文件.模 ...
- 【nodeJS】webstorm中设置nodej智能提示
- 【翻译】HTML5开发——轻量级Web Database存储库html5sql.js
方式1: html5sql官方网址:http://html5sql.com/ 阅读之前,先看W3C关于WEB Database的一段话: Beware. This specification is n ...
- Accessing data in Hadoop using dplyr and SQL
If your primary objective is to query your data in Hadoop to browse, manipulate, and extract it into ...
- bzoj4576 [Usaco2016 Open]262144
题目大意: 给出n个数a[1..n],n<=262144,a[i]<=40,相邻且相同的数可以合并成一个并将值加1,问能获得的最大数是多少 用一个双向链表维护原数列,每个节点记录此节点对应 ...
- javascript的propertyIsEnumerable()方法
/* propertyIsEnumerable()是用来检测属性是否属于某个对象的,如果检测到了,返回true,否则返回false. 1.这个属性必须属于实例的,并且不属于原型. 2.这个属性必须是可 ...
- CentOS 6.7 编译PHP7 make时出现错误:undefined reference to `libiconv_close’
编辑Makefile文件,找到变量EXTRA_LIBS,并在末尾添上-liconv EXTRA_LIBS = -lcrypt -lz -lexslt -lcrypt -lrt -lmcrypt -ll ...