Android学习笔记-<1>Android应用和开发环境
1.1 Android 的发展和历史
Android是由Andy Rubin创立的一个手机操作系统,后来被Google收购.Google希望与各方面共同建立一个标准化,开放式的移动电话软件平台,从而在移动产业内形成一个开放式的操作平台.
1.1.1 Android 的发展和简介
Android并不是Google创造的,而是由Android公司所创造的,该公司的创始人是Andy Rubin. 该公司后来被Google收购,而Andy Rubin也成为Google公司的Android产品负责人.
Google于2007年11月5日发布了Android 1.0手机操作系统,这个版本的Android系统还没有赢得广泛的市场支持.
2009年5月份,Google发布了Android 1.5,该版本的Android提供了一个非常”豪华”的用户界面,而且提供了蓝牙连接支持.这个版本的Android吸引了大量的开发者的目光.接下来,Android的版本更新得较快.
事实上,Android已经超过了手机操作系统的范畴,Android系统已经广泛应用于TV,手表以及各种可穿戴设备.
从2008年9月22日, T-Mobile在纽约正式发布第一款Android手机–T-Mobile G1开始,Android系统不断地获得哥哥手机厂商的青睐.
2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC G5),同时开始对外发售.
1.1.2 Android 平台架构及特性
Android系统的底层建立在Linux系统上,该平台由操作系统,中间层,用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建.这种软件叠层结构使得层与层之间相互分离,明确各层的分工.这种分工保证了层与层之间的低耦合,当下层的层内或层下发生改变时,上层应用陈旭无须任何改变.
1. 应用程序层
Android系统将包含一系列的核心应用程序,包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人等.这些应用程序通常都是由Java编写的.
2. 应用程序框架
当我们开发Android应用程序时,就是面向底层的应用程序框架进行的.从这个意义上来看,Android系统上的应用程序是完全平等的,不管是Android系统提供的程序,还是普通开发者提供的程序,都可以访问Android提供的API框架.
Android应用程序框架提供了大量API供开发者使用.应用程序框架除了可作为应用程序开发的基础之外,也是软件复用的重要手段,任何一个应用程序都可以发布它的功能模块–只要发布时遵守了框架的约定,那么其他应用程序就可以使用这个功能模块.
3. 函数库
Android包含一套被不同组件所使用的C/C++库集合.一般来说,Android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库.
下面列出一些核心库.
|
|
4. Android运行时
Android运行时由两部分组成: Android核心库集合ART.其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序.
Android 5.0以前的Android运行时由Dalvik虚拟机和Android核心库集组成,但由于Dalvik虚拟机采用了一种被称为JIT(Just-in-time)的解释器进行动态编译并执行,因此导致Android App运行时比较慢;而ART模式则是在用户安装App是进行预编译(Ahead-of-time,简称AOT)的,将原本在程序运行时的编译动作提前到应用安装时,这样使得程序在运行时可以减少动态编译的开销,从而提升Android App的运行效率.
反过来, 由于ART需要在安装App时进行AOT处理,因此ART需要占用更多的存储空间,应用安装和系统启动时间会延长不少.
除此之外,ART还支持ARM,x86和MIPS架构,并且完全兼容64位系统,Android 5.0之后必然带来更好的用户体验.
5. Linux内核
Android系统建立在Linux2.6之上.Linux内核提供了安全性,内存管理,进程管理,网络协议栈和驱动模型等核心系统服务.除此之外,Linux内核也是系统硬件和软件叠层之间的抽象层.
1.2 搭建Android开发环境
在开始搭建Android开发环境之前,Java编程基础等知识将不再说明.下面将从Android SDK的安装大致说明.(涉及的站点若无法访问,建议设置代理服务器来访问该站点)
1.2.1 下载和安装Android SDK
Android的官方站点是http://www.android.com , 登录该站点即可下载Android SDK.下载和安装Android SDK有如下步骤.
1.登录http://developer.android.com/sdk/index.html 页面,滚动到”SDK Tools Only” 处,即可看到Android SDK的下载链接.
2.单击Android SDK的下载链接,即可下载Android SDK的压缩包.
3.下载完成后将压缩文件解压到任意路径下,得到的文件夹包含如下文件结构.
|
|
4.启动SDK Manager.exe, 在窗口列表中勾选需要安装的平台和工具,比如Android 6.0的工具和平台,其中Android文档, SDK Platform是必选的.若是想查看Android官方提供的实例程序,使用Android SDK源代码,则可以勾选”Samples for SDK”和”Source for Android SDK”两个列表项(最好将Android 6.0所包含的工具都安装上,若无须为Android TV,可穿戴设备开发应用,则可暂时不勾选以Android TV,Android Wear开头的选项).至于是否需要安装Android的早期的SDK,取决于个人需求.
5.选中所需安装的工具后,单击”Install XX package”按钮,出现确认窗口,单击”Accept License”单选按钮–确认安装之前所选择的所有的工具包,然后单击”Install”按钮,系统开始在线安装Android SDK及相关工具. 在线安装时间取决于用户的网络状态以及选中工具包的数量,多的话甚至可能花费数小时,耐心等待即可.
6.下载安装完成将可以看到在Android SDK目录下新增了如下的几个文件夹.
|
|
7.未来在命令行窗口可以使用Android SDK的各种工具,建议将Android SDK目录下的tools子目录,platform-tools子目录添加到系统的PATH环境变量中.
1.2.2 安装Android Studio
Android Studio是Google为Android提供的官方IDE工具,Google建议广大Android开发者尽快从Eclipse+ADT的开发环境改为使用Android Studio.
Android Studio不再基于Eclipse,而是基于Intellij IDEA的Android开发环境.实际上,Intellij IDEA一直都是一款非常优秀的Java IDE工具,只是因为Intellij IDEA是一款商业的IDE工具(虽然也有免费的社区交流部,但功能相当有限),因此影响了Intellij IDEA的广泛应用.现在Google以Intellij IDEA为基础推出Android Studio同样可以免费使用,因此具有非常大的吸引力.
1.登录http://developer.android.com/sdk/index.html 页面,滚动到最下方”All Android Studio Packages”处,即可看到下载链接.
2.单击下载链接,即可下载得到一个压缩包.
3.将压缩包解压到任意盘符路径下,然后双击解压路径下bin目录下的studio.exe(32位)或sudio64.exe(64位)文件.运行程序即可弹出对话框
4.对话框询问用户是否导入Android Studio设置,若以前用过Android Studio且保存了定制该IDE的设置信息,则可以选择第一个单选按钮,并通过下面的文件浏览框选择Android Studio设置信息的存储位置;否则选择第二个单选按钮.
5.接下来便是引导用户从网络上下载Android SDK(可以单独下载),选择”Custom”按钮,然后单击”Finish”按钮.
6.单击”Finish”按钮,即可看到开始下载Android SDK的进度对话框.下载完成后单击”Finish”按钮即可完成Android Studio的安装.
由于Android Studio是基于Intellij IDEA的IDE工具,因此Android Studio中的Project(项目)的概念与Eclipse的Project概念不同,Android Studio的项目相当于Eclipse的WorkSpace(工作空间),Android Studio的Module(模块)才相当于Eclipse的项目–由此可见,Android Studio的项目相当于一个工作空间,一个工作空间可包含多个模块,每个模块对应一个Android项目.即Android Studio的项目可以包含多个Android项目(模块).
7.使用Android Studio时,还需要为Android Studio设置Android SDK的路径.若是Android SDK已下载完成,则单击”File”->”Other Settings”->”Default Project Structure”菜单,设置Android SDK的安装路径.
1.2.3 安装运行,调试环境
Android程序必须在Android手机上运行,因此Android开发时必须准备相关的运行,调试环境.准备Android程序运行,调试环境有如下3中方式.
(1).条件允许,则优先考虑购买Android真机(其调试速度更快,效果更好).
(2).配置Android虚拟设备(即AVD).
(3).使用第三方提供的Android模拟器(如Genymotion模拟器).
具体步骤过程自行网上查阅,不再详细叙述.
1.3 Android常用开发工具用法
前面主要介绍了Android SDK的安装,运行,调试环境的搭建,以及Android开发环境Android Studio的安装,但这些只是最基本的知识,还必须掌握Android开发的大量辅助的工具.
1.3.1 在命令行创建,删除和浏览AVD
在命令行下管理AVD需借助android命令(位于Android SDK安装目录的tools子目录下),若直接执行android命令将会启动Android SDK管理器,除此之外,该命令还支持如下子命令
|
|
若希望查看当前系统上已经安装的Android版本及已经安装的AVD设备,则运行android llist或者 android list avd命令即可.
若要创建一个全新的AVD设备,可以执行如下命令:
|
|
在上面的create avd子命令中,只有-n和-t选项是必需的,其余-b,-p,-s选项都是可选的.若无-p选项,创建的AVD设备默认保存在%ANDROID_SDK_HOOME%/android/avd路径下.
1.3.2 使用Android模拟器(Emulator)
Android模拟器就是一个运行在电脑上的”虚拟手机”.在Android SDK 和AVD管理器中选择指定的AVD设备,然后单击”Start…”按钮就可以启动模拟器来运行Android系统.
在Android SDK安装目录的tools子目录下有一个emulator.exe(另外还有emulator-arm.exe.emulator-mips.exe,emulator-x86.exe),它们都是Android模拟器.
使用emulator.exe启动模拟器有两种方法.
|
|
|
|
第一种用法是运行指定的AVD设备.第二种用法是直接使用指定的镜像文件来运行AVD.
1.3.3 使用Monitor进行调试
党Android应用在模拟器上运行时,Android提供了一个Monitor工具,该工具可以用于监视Android设备的运行.它是一个功能非常强大的调试环境,运行如下命令即可启动.
|
|
实际上,Android Studio已经将Monitor集成进来.
1.3.4 Android Debug Bridge (ADB)的用法
Android Debug Bridge (ADB)是一个功能非常强大的工具,它位于Android SDK安装目录的platform-tools子目录下. ADB工具既可以完成模拟器文件与电脑文件的相互复制,也可以安装APK应用,甚至可以直接切换到Android系统中执行Linux命令.
ADB工具的功能很多,此处仅对几个常用的命令略作说明.
1.查看当前运行的模拟器
输入如下命令,即可查看当前运行的模拟器:
|
|
2.电脑与手机之间文件的相互复制
在默认情况下 ,ADB工具总是操作当前正在运行的模拟器.
若需要将电脑文件复制到模拟器中,则可以使用adb push命令:
|
|
若需要将模拟器中的文件复制到电脑,则可以使用adb pull命令:
|
|
3.启动模拟器的shell窗口
Android平台是基于Linux的,有时开发者希望直接打开Android平台的shell窗口,这样就可以在该窗口内执行一些常用的Linux命令,如ls,mkdir,rm等.此时可以考虑使用adb shell命令:
|
|
4.安装,卸载APK程序
APK程序就是Android程序的发布包,虽然我们使用Java开发了Android应用,但并不是直接将Java二进制文件复制到手机或者模拟器上即可,而是需要将Android应用打包成APK.
一旦将Android应用打包成APK包,接下来就可以通过ADB工具来安装,卸载APK程序了.
使用ADB安装APK程序的命令格式如下:
|
|
上面的命令格式指定安装
如果希望从Android系统中删除指定软件包,则可以使用如下命令:
|
|
上面的命令格式指定删除
1.3.5 使用mksdcard管理虚拟SD卡
正如前面在Android SDK和AVD管理器中所见到的,我们可以在创建AVD设备时创建一个虚拟SD卡.实际上还可以使用mksdcard命令来单独创建一个虚拟存储卡.
mksdcard命令的语法格式如下:
|
|
上面的命令格式中
如果希望在启动模拟器时使用指定的虚拟SD卡,则在启动模拟器时增加-sdcard
|
|
到此为止,我们已经成功地安装了Android SDK,配置Android开发环境,并且对Android相关开发工具都有了一个大致的了解.
接下来欢迎正式踏上Android应用学习开发之路~
注: 欢迎交流与学习,转载请注明出处 http://thychan.cn