Android SDK解析
第一次接触到AndroidSDK 是在安装Android Studio的时候,需要下载SDK,下载完之后会有一个SDK的目录文件夹,除此之外在我印象中就没有主动去使用过SDK了。
SDK全称Software Development Kit,是开发工具的集合,开发工具包含软件包,软件框架或者操作系统等等;我们自己也可以编译自己的SDK,我们所写的SDK是基于系统的SDK进行开发的、可以完成特点功能的工具集合,形式由jar、aar、so等,我使用过的百度地图的sdk或者酷我音乐的sdk都是这种形式的文件。
Android SDK 目录形式:
1. extras
该目录用于存放 Android 附加支持文件,主要包含 Android 的 support 支持包、Google 的几个工具和驱动、Intel 的 IntelHaxm。
2. platforms
该目录用于存放 Android SDK Platforms 平台相关文件,包括字体、res 资源、模板等。
3. platform-tools
该目录包含各个平台工具,其中主要包含以下几部分。
名称 | 作用 |
---|---|
api 目录 | api-versions.xml 文件,用于指明所需类的属性、方法、接口等 |
lib 目录 | 目录中只有 dx.jar 文件,为平台工具启动 dx.bat 时加载并使用 jar 包里的类 |
aapt.exe | 把开发的应用打包成 APK 安装文件,如果用 Eclipse 开发,就不用通过命令窗口输入命令+参数实现打包 |
adb.exe (Android Debug Bridge 调试桥) | 通过它连接 Android 手机(或模拟器)与 PC 端,可以在 PC 端上控制手机的操作。如果用 Eclipse 开发,一般情况 下 ADB 会自动启动,之后我们可以通过 DDMS 来调试 Android 程序 。 |
aidl.exe (Android Interface Definition Language) | Android 内部进程通信接口的描述语言,用于生成可以在 Android 设备进行进程间通信 (Inter-Process Communication,IPC) 的代码 |
dexdump.exe | 可以反编译 .dex 文件,例如 .dex 文件里包含 3 个类,反编译后也会出现 3 个 .class 文件,通过这些文件可以大概了解原始的 Java 代码。 |
dx.bat | 将 .class 字节码文件转成 Android 字节码 .dex 文件 |
fastboot.exe | 可以进行重启系统、重写内核、查看连接设备、写分区、清空分区等操作 |
Android llvm-rs-cc.exe | Renderscript 采用 LLVM 低阶虚拟机,llvm-rs-cc.exe 的主要作用是对 Renderscript 的处理 |
NOTICE.txt 和 source.properties | NOTICE.txt 只是给出一些提示的信息;source.properties 是资源属性信息文件,主要显示该资源生成时间、系统类型、资源 URL 地址等。 |
4. samples
samples 是 Android SDK 自带的默认示例工程。
5. system-images
该目录存放系统图片。
6. temp
该目录存放系统中的临时文件。
7. tools
作为 SDK 根目录下的 tools 文件夹,这里包含重要的工具,比如 ddms 用于启动 Android 调试工具,如 logcat、屏幕截图和文件管理器;而 draw9patch 则是绘制 Android 平台的可缩放 PNG 图片的工具;sqlite3 可以在 PC 上操作 SQLite 数据库;而 monkeyrunner 则是一个不错的压力测试应用,模拟用户随机按钮;mksdcard 是模拟器 SD 映像的创建工具;emulator 是 Android 模拟器主程序,不过从 Android 1.5 开始,需要输入合适的参数才能启动模拟器;traceview 是 Android 平台上重要的调试工具。
Android.jar
作为一个 Java 项目,通常情况下都会引入要用到的工具类,也就是 JAR 包。
在 Android 开发中,绝大部分开发用的工具包都被封装到一个名叫 Android.jar 的文件里了。在 Eclipse 中展开来看,可以看到 J2SE 中的包、Apache 项目中的包,还有 Android 自身的包文件。Android 的包文件主要包括以下内容:
名称 | 作用 |
---|---|
Android.app | 提供高层的程序模型和基本的运行环境 |
Android.content | 包含各种对设备上的数据进行访问和发布的类 |
Android.database | 通过内容提供者浏览和操作数据库 |
Android.graphics | 底层的图形库 |
Android.location | 定位和相关服务的类 |
Android.media | 提供一些类管理多种音频、视频的媒体接口 |
Android.net | 提供帮助网络访问的类,超过通常的 java.net.* 接口 |
Android.os | 提供系统服务、消息传输、IPC 机制 |
Android.openg | 提供 OpenGL 的工具 |
Android.provider | 提供类,访问 Android 的内容提供者 |
Android.telephony | 提供与拨打电话相关的 API 交互 |
Android.view | 提供基础的用户界面接口框架 |
Android.util | 涉及工具性的方法,例如时间日期的操作 |
Android.webkit | 默认浏览器操作接口 |
Android.widget | 包含各种 UI 元素(大部分是可见的)在应用程序的屏幕中使用 |
Android API 扩展包
核心的 Android API 在每部手机上都可以使用,但仍然有一些 API 接口有各自特别的适用范围,这就是所谓的“可选API”。这些 API 之所以是“可选的”,主要是因为一个手持设备并不一定要完全支持这类 API,甚至可以完全不支持。
1. Location-Based Services(定位服务)
Android 操作系统支持 GPS API-LBS,可以通过集成 GPS 芯片来接收卫星信号,通过 GPS 全球定位系统中至少 3 颗卫星和原子钟来获取当前手机的坐标数据,通过转换就可以成为地图上的具体位置,这一误差在手机上可以缩小到 10 米。在谷歌开发手机联盟中可以看到著名的 SiRF star。所以未来 gPhone 手机上市时集成 GPS 后的价格不会很贵。
同时,谷歌正在研制基于基站式的定位技术——MyLocation,可以更快速地定位,与前者 GPS 定位需要花费大约 1 分钟相比,基站定位更快。
2. Media APIs(多媒体接口)
Android 平台上集成了很多影音解码器以及相关的多媒体 API,通过这些可选 API,厂商可以让手机支持 MP3、MP4、高清晰视频播放处理等。
3. 3D Graphics with OpenGL(3D 图形处理 OpenGL)
可选 API。Android 平台上的游戏娱乐功能,如支持 3D 游戏或应用场景就需要用到 3D 技术,手机生产厂商根据手机的屏幕以及定位集成不同等级的 3D 加速图形芯片来加强 gPhone 手机的娱乐性,有来自高通的消息称,最新的显示芯片在 gPhone 上将会轻松超过索尼 PS3。
4) Low-Level Hardware Access(低级硬件访问)
这个功能主要用于控制手机的底层方面操作,设计底层硬件操作将主要由各个手机硬件生产厂商来定制,支持不同设备的操作管理,如蓝牙 (Bluetooth) 以及 WIFI 无线网络支持等。
Android SDK解析相关推荐
- 《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析...
1.前言 Android Studio 是第一个Google官方的 Android 开发环境.其他工具,例如 Eclipse,在 Android Studio 发布之前已经有了大规模的使用.为了帮助开 ...
- Android SDK实例之Snake游戏深入解析(一)
Snake是Android SDK例子程序中的一个小游戏,工程源代码:android-sdk-windows-1.5_r2\platforms\android-1.1\samples\Snake.这个 ...
- Unity3d Android SDK接入解析(四)通用的Android SDK接入中间件
一.前言 接入Android SDK正式告一段落,在这段时间里面,依次接入了华为.应用宝.小米.360等等大大小小十来个SDK,也算对Unity接入渠道SDK有了较为全面的理解,对各个渠道的坑也算深有 ...
- Unity3d Android SDK接入解析(三)接入Android Library的理解(爱贝云支付为例)
一.前言 写这个主题的原因,出于刚入门u3d,需要接入爱贝云支付的内容,苦于爱贝支付是一个Android的Library库,看到网上漫天遍野都是Android接入的帖子,但却没有我想要的关于Libra ...
- Android混淆解析
此文章转载来源https://www.jianshu.com/p/84114b7feb38点击打开链接 Android混淆解析 一.混淆的目的 一款发布到市场的软件原则上都应该做代码混淆. 通过代码混 ...
- 怎么看android sdk 文档
1.我建议大家要养成一个习惯,以后遇到疑问时,首先应该想到去sdk文档上查找,然后再去百度上google:这样做一来可以锻炼自己理解E文的能力,二来也会让自己的印象更深刻些 1号区域:标签栏,各个标签 ...
- OpenCV android sdk配置OpenCV android NDK开发实例
OpenCV android sdk配置OpenCV android NDK开发实例 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/det ...
- android sdk build-tools_从零开始仿写一个抖音App——视频编辑SDK开发(一)
本文首发于微信公众号--世界上有意思的事,搬运转载请注明出处,否则将追究版权责任.交流qq群:859640274. 大家好久不见,又有一个多月没有发文章了.不知道还有哪些读者记得我的 从零开始仿写抖音 ...
- Android SDK Manager更新不了的解决办法
android SDK Manager更新不了,出现错误提示:"Failed to fetch URL..."! 可以用以下办法解决: 使用SDK Manager更新时出现问题 F ...
最新文章
- java对象转xml 高性能_通过实例学习JAVA对象转成XML输出
- 生出树状的文件夹结构
- Linux查看文件编码格式及文件编码转换
- CSS 小结笔记之滑动门技术
- el-table表格格式化某一列数据;统一处理el-table表格某一列数据
- 城市公交网建设问题(信息学奥赛一本通-T1348)
- 比亚迪汉鸿蒙系统测评_国产强强联合,比亚迪与华为联手打造的“汉”定制款华为P40亮相...
- Android中ListView的使用步骤
- 基于 KubeSphere 的分级管理实践
- MT【252】椭圆内接三角形内切圆半径
- Unity 3D课程总结
- HTML中<a></a>标签的四大功能 必看!必看!!必看!!!
- 数据结构教程 李春葆主编 (第5版)绪论笔记
- c语言数字字符一起读,如何同时输入字符串和数字
- 【UEFI实战】Intel开源固件项目
- Qt之简易的多功能小相册
- HTML实时获取当前时间
- 微立体岗位竞聘PPT模板
- 【OKT507】迪文屏事件
- Cisco ACE Web应用防火墙