《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.1节简析Android安装文件

简介:

本节书摘来自异步社区《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》一书中的第2章,第2.1节简析Android安装文件,作者 王石磊 , 吴峥,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.1 简析Android安装文件
Android多媒体应用开发实战详解:图像、音频、视频、2D和3D
当下载并安装Android后,会在其安装目录中看到一些安装文件。了解这些文件具体是干什么用的,对于我们后面的驱动开发知识学习十分有用,所以在本节的内容中将简要介绍这些安装文件的基本知识。

2.1.1 Android SDK目录结构
安装Android SDK后,其安装目录的具体结构如图2-1所示。


26a90fcd67b965fef6a9f23d5e8816b04f4666e1

temp:里面包含了一些常用的文件模板。
tools:包含了一些通用的工具文件。
usb_driver:包含了AMD64和X86下的驱动文件。
SDK Setup.exe:Android的启动文件。

2.1.2 android.jar及内部结构
在“platforms”目录下的每个Android版本中,都有一个android.jar,如“platformsandroid-8”,如图2-3所示。


b87af39f97568e51132e28cc6abc1188fca4fef1

android.jar是一个标准的压缩包,里面包含了编译后的压缩文件,包含了全部的API,使用Windows系统上的解压缩工具WinRAR可以打开此压缩文件,此时可以看到其内部结构分别如图2-4和图2-5所示。


e9ece114c70131e29f5582b105bed0ae2cbb1ad3

2.1.3 SDK文档及阅读技巧
通过解压缩android.jar后,了解了其内部API的包结构和组织方式,如果要深入理解各个文件包内包含的API和API的具体用法,就必须学会阅读、查找SDK文档。

可以使用浏览器打开“docs”目录下的文件index.html,如图2-6所示。


4cd5deda2ae386da39a99da0ac15eb5910db3365

在图2-6所示的主页中,介绍了Android基本概念和当前常用版本,在右侧和顶端导航栏中列出了一些常用的链接。此SDK文件对于初学者来说十分重要,可以帮助读者解决很多常见的问题,是一个很好的学习文档和帮助文档。

单击导航栏中的【Dev Guide】按钮打开如图2-7所示的界面。


6ad72e0522bc4dd036e3649513814387594808c2

图2-7所示的页面中,左侧是目录索引链接,单击某个链接后,可以在右侧界面中显示对应的说明信息。下面对各个索引目录链接简单介绍一下。

如果要想迅速地理解一个问题或知识点,可以在搜索对话框中对SDK进行检索,搜索到自己需要的内容。当然,很多热心的程序员和学习者对SDK进行了翻译,网络上有很多SDK中文版,读者可以从网络中获取。

2.1.4 Android SDK工具集
在SDK中,集成了很多有用的开发工具,这些工具能够帮助读者在Android平台上开发出有用的应用程序。在Android SDK中,最为有用的是Android模拟器和Eclipse的Android开发插件,但是SDK中也包含了各种在模拟器上用于调试、打包和安装的工具,能够真对不同的场景进行使用。在下面的内容中,将简要介绍这些工具的基本使用知识。

Android模拟器。
模拟器是运行在计算机上的虚拟移动设备,有关模拟器的基本知识已经在本书的第一章中进行了详细介绍,在此不再讲解。

集成开发插件ADT。
Android 为Eclipse 定制了一个插件,即Android Development Tools(ADT),这个插件为用户提供了一个强大的综合环境用于开发Android应用程序。ADT扩展了Eclipse的功能,可以让用户快速地建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序。

调试监视服务ddms.bat。
调试监视服务ddms.bat集成在Dalvik(Android平台的虚拟机)中,用于管理运行在模拟器或设备上的进程,并协助调试工作。它可以去除一些进程,选择一个特定的程序来调试,生成跟踪数据,查看堆和线程数据,对模拟器或设备进行屏幕快照等操作。

Android调试桥adb.exe。
Android调试桥(adb)是多种用途的工具,该工具可以帮助我们管理设备或模拟器的状态。可以通过下面的几种方法加入adb。

(1)在设备上运行Shell命令。

(2)通过端口转发来管理模拟器或设备

(3)从模拟器或设备上复制文件。

Android资源打包工具aapt.exe:此工具可以创建apk文件,在apk文件中包含了Android应用程序的二进制文件和资源文件。
Android接口描述语言aidl.exe:用于生成进程间接口代码。
SQLite3数据库sqlite3.exe:Android可以创建和使用SQLite数据文件。
跟踪显示工具:可以生成跟踪日志数据的图形分析视图,这些跟踪日志数据由Android应用程序产生。
创建SD卡工具:用于创建磁盘镜像,此镜像可以在模拟器上模拟外部存储卡,如常见的SD卡。
DX工具(dx.bat):将class字节码重写为Android字节码(被存储在dex文件中)。
生成Ant构建文件(activitycreator.bat)。
activitycreator.bat是一个脚本,用于生成Ant构建文件。Ant构建文件用于编译Android应用程序,如果在安装ADT插件的Eclipse环境下开发,则就不需要这个脚本了。

Android虚拟设备。
在Android SDK1.5版以后的Android开发中,必须创建至少一个AVD,AVD全称为Android虚拟设备(Android Virtual Device),每个AVD模拟了一套虚拟设备来运行Android平台,这个平台至少要有自己的内核、系统图像和数据分区,还可以有自己的SD卡和用户数据以及外观显示等。

相关文章
|
13天前
|
移动开发 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【4月更文挑战第3天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin的兴起,其在Android开发中的地位逐渐上升,但关于其与Java在性能方面的对比,尚无明确共识。本文通过深入分析并结合实际测试数据,探讨了Kotlin与Java在Android平台上的性能表现,揭示了在不同场景下两者的差异及其对应用性能的潜在影响,为开发者在选择编程语言时提供参考依据。
|
14天前
|
数据库 Android开发 开发者
构建高效Android应用:Kotlin协程的实践指南
【4月更文挑战第2天】随着移动应用开发的不断进步,开发者们寻求更流畅、高效的用户体验。在Android平台上,Kotlin语言凭借其简洁性和功能性赢得了开发社区的广泛支持。特别是Kotlin协程,作为一种轻量级的并发处理方案,使得异步编程变得更加简单和直观。本文将深入探讨Kotlin协程的核心概念、使用场景以及如何将其应用于Android开发中,以提高应用性能和响应能力。通过实际案例分析,我们将展示协程如何简化复杂任务,优化资源管理,并为最终用户提供更加流畅的体验。
|
14天前
|
开发框架 安全 Android开发
探索安卓系统的新趋势:智能家居应用的蓬勃发展
随着智能家居概念的兴起,安卓系统在智能家居应用领域的应用日益广泛。本文将探讨安卓系统在智能家居应用开发方面的最新趋势和创新,以及其对用户生活的影响。
12 2
|
17天前
|
缓存 监控 Java
构建高效Android应用:从优化用户体验到提升性能
在竞争激烈的移动应用市场中,为用户提供流畅和高效的体验是至关重要的。本文深入探讨了如何通过多种技术手段来优化Android应用的性能,包括UI响应性、内存管理和多线程处理。同时,我们还将讨论如何利用最新的Android框架和工具来诊断和解决性能瓶颈。通过实例分析和最佳实践,读者将能够理解并实施必要的优化策略,以确保他们的应用在保持响应迅速的同时,还能够有效地利用系统资源。
|
18天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
12 0
|
15天前
|
Java Android开发 开发者
构建高效Android应用:Kotlin协程的实践与优化
在响应式编程范式日益盛行的今天,Kotlin协程作为一种轻量级的线程管理解决方案,为Android开发带来了性能和效率的双重提升。本文旨在探讨Kotlin协程的核心概念、实践方法及其在Android应用中的优化策略,帮助开发者构建更加流畅和高效的应用程序。通过深入分析协程的原理与应用场景,结合实际案例,本文将指导读者如何优雅地解决异步任务处理,避免阻塞UI线程,从而优化用户体验。
|
2天前
|
搜索推荐 开发工具 Android开发
安卓即时应用(Instant Apps)开发指南
【4月更文挑战第14天】Android Instant Apps让用户体验部分应用功能而无需完整下载。开发者需将应用拆分成模块,基于已上线的基础应用构建。使用Android Studio的Instant Apps Feature Library定义模块特性,优化代码与资源以减小模块大小,同步管理即时应用和基础应用的版本。经过测试,可发布至Google Play Console,提升用户便利性,创造新获客机会。
|
3天前
|
Java API 调度
安卓多线程和并发处理:提高应用效率
【4月更文挑战第13天】本文探讨了安卓应用中多线程和并发处理的优化方法,包括使用Thread、AsyncTask、Loader、IntentService、JobScheduler、WorkManager以及线程池。此外,还介绍了RxJava和Kotlin协程作为异步编程工具。理解并恰当运用这些技术能提升应用效率,避免UI卡顿,确保良好用户体验。随着安卓技术发展,更高级的异步处理工具将助力开发者构建高性能应用。
|
3天前
|
编解码 人工智能 测试技术
安卓适配性策略:确保应用在不同设备上的兼容性
【4月更文挑战第13天】本文探讨了提升安卓应用兼容性的策略,包括理解平台碎片化、设计响应式UI(使用dp单位,考虑横竖屏)、利用Android SDK的兼容工具(支持库、资源限定符)、编写兼容性代码(运行时权限、设备特性检查)以及优化性能以适应低端设备。适配性是安卓开发的关键,通过这些方法可确保应用在多样化设备上提供一致体验。未来,自动化测试和AI将助力应对设备碎片化挑战。
|
9天前
|
移动开发 API Android开发
构建高效Android应用:探究Kotlin协程的优势与实践
【4月更文挑战第7天】 在移动开发领域,性能优化和应用响应性的提升一直是开发者追求的目标。近年来,Kotlin语言因其简洁性和功能性在Android社区中受到青睐,特别是其对协程(Coroutines)的支持,为编写异步代码和处理并发任务提供了一种更加优雅的解决方案。本文将探讨Kotlin协程在Android开发中的应用,揭示其在提高应用性能和简化代码结构方面的潜在优势,并展示如何在实际项目中实现和优化协程。