技术标签: android sdk
SDK (Software Development Kit) 软件开发工具包是软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。Android SDK 就是 Android 专属的软件开发工具包。
Android SDK 解压即可完成安装,其中包含的文件、文件夹如图 1 所示。
图 1 Android SDK 目录结构图
该目录中存放 Android 的扩展库,比如 Google Maps,但若未选择安装 Google API,则该目录为空。
各版本SDK编译工具。当你新建android项目的时候会用到这个包。 主要是包一些编译的工具。 当然有一个版本的Android就行。包含有aapt、aidl、逆向调试工具dexdump和编译脚本dx等工具。
该目录是 developer.Android.com 的开发文档(离线开发者文档Android SDK API参考文档),包含 SDK 平台、工具、ADT 等的介绍,开发指南,API 文档,相关资源等。
该目录用于存放 Android 附加支持文件(扩展开发包 如高版本的API在低版本中开发使用),主要包含 Android 的 support 支持包、Google 的几个工具和驱动、Intel 的 IntelHaxm。
各版本SDK。根据API Level划分的SDK版本,这里就以Android 2.2来说,进入后有 一个android-8的文件夹,android-8进入后是Android 2.2 SDK的主要文件,其中ant为ant编译脚本,data保存着一些系 统资源,images是模拟器映像文件,skins则是Android模拟器的皮肤,templates是工程创建的默认模板,android.jar则 是该版本的主要framework文件,tools目录里面包含了重要的编译工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx。
各版本SDK通用工具。比如adb、和aapt、aidl、dx等文件,Android 1 2 3版本提示,这里和platforms目录中tools文件夹有些重复,主要是从Android 2.3开始这些工具被划分为通用了。该目录包含各个平台工具,其中主要包含以下几部分。
名称 | 作用 |
---|---|
api 目录 | api-versions.xml 文件,用于指明所需类的属性、方法、接口等 |
lib 目录 | 目录中只有 dx.jar 文件,为平台工具启动 dx.bat 时加载并使用 jar 包里的类 |
aapt.exe(Android Application Package Tools) | 把开发的应用打包成 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 代码。(dump是转储的意思) |
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 地址等。 |
samples 是 Android SDK 自带的默认示例工程,里面的 apidemos 强烈推荐初学者学习。
各版本SDK源码。
模拟器映像文件。从android-14开始将模拟器映像文件整理在这里(原来放在platforms下)
该目录存放系统中的临时文件。临时夹,一般在SDK更新安装时用到。
各版本SDK自带工具。作为 SDK 根目录下的 tools 文件夹,这里包含重要的工具,比如 ddms(DalvikDebugMonitorServer)用于启动 Android 调试工具,如 logcat、屏幕截图和文件管理器;而 draw9patch 则是绘制 Android 平台的可缩放 PNG 图片的工具;sqlite3 可以在 PC 上操作 SQLite 数据库;而 monkeyrunner 则是一个不错的压力测试应用,模拟用户随机按钮;mksdcard 是模拟器 SD 映像的创建工具;emulator 是 Android 模拟器主程序,不过从 Android 1.5 开始,需要输入合适的参数才能启动模拟器;traceview 是 Android 平台上重要的调试工具。
Android手机模拟配置工具,用于配置模拟器,只有先配置AVD才可运行模拟器。
SDK管理器,用于SDK更新、下载、删除。
作为一个 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 在每部手机上都可以使用,但仍然有一些 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 无线网络支持等。
1 搜索关键词 my zsh 2 http://ohmyz.sh
Vue 所有实用插件集合汇总框架element - 饿了么出品的Vue2的web UI工具套件mint-ui - Vue 2的移动UI元素iview - 基于 Vuejs 的开源 UI 组件库Keen-UI - 轻量级的基本UI组件合集vue-material - 通过Vue Material和Vue 2建立精美的app应用muse-ui - 三端样式一致的响应式 UI 库vuetify - 为移动而生的Vue JS 2组件框架vonic - 快速构建移动端单页应用vue-blu - 帮
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { *
以下是原创代码哦,虽然并没有详细了解过爬虫,不过还是在不懈的努力(上网,翻书等)下搞定了携程网机票的爬取,回顾历程,往日的心酸真的历历在目,说真的,现在也不懂一些语法到底是怎么个应用法则,但是,这是一条呕心沥血改编来的代码,具体参考由于年代久远,而且居无定所,不得考证,甚是遗憾了。最后,公布代码会犯法吗,这样会侵犯携程网站的利益吗,为了安全,我还是保留一点吧,不过可以给应对某sir课程的小伙伴一个...
如上。confluence是一个非常不错的企业内部文档管理分享工具。但是目前文章区域找不到添加水印的插件。网上了解,confluence可以自定义页面外观,且使用的是Velocity语言进行开发。通过confluence空间管理-外观,可以对任意页面的样式进行修改。例如我这里需要对文章区域进行水印添加,选择点击自定义按钮进行编辑:找到这个页面位置,在下方插入下面的代码:...
omp算法常用在求解y=Ax的问题中的系数矩阵x,在分类问题中y常作为测试集,A为训练集,该算法是为了解出x,且x尽可能含有多个0(l1范式)。
大多数企业都会配备三层交换机,通过划分VLAN更好的管理内部网络,三层交换机功能强大,本身带路由功能,可以控制VLAN之间的互相访问,这里要介绍的是三层交换机与防火墙连接上网。
TCP选项分析 之 SO_REUSEADDR首先 从工程角度考虑如下问题问题: 1:Server 进行 bind(),listen(),accept(),然后进行等待Client连接。 2:Client 进行 连接。即,Server的accept()返回client_fd 3:Server 程序退出(异常退出,或者)。但是和客户端的连接依旧存在。 4:Server 重启程序,但...
摘要:大规模可编程逻辑器件CPLD和FPGA是当今应用最广泛的两类可编程专用集成电路(ASIC),电子设计工程师用它可以在办公室或实验室里设计出所需的专用集成电路,从而大大缩短了产品上市时间,降低了开发成本.此外,可编程逻辑器件还具有静态可重复编程和动态系统重构的特性,使得硬件的功能可以象软件一样通过编程来修改,这样就极大地提高了电子系统设计的灵活性和通用性.该设计完成了在一片可编程逻辑器件上开发...
1、通行理论在软件中,有些行为是通用的。比如日志、安全和事务管理,他们有一个共同的特点,分布于应用中的多处,这种功能被称为横切关注点(cross-cutting concerns)。DI(依赖注入)有助于应用对象之间的解耦,而AOP可以实现横切关注点与他们所影响的对象之间的解耦。应用切面的常见范例:日志、声明式事务、安全和缓存。下面涉及的内容包括Spring对切面的支持,包括如何把...
缓存数据一致性-解决方案
前言本人是底层 211 本科,刚毕业,⽆科研经历,但是有些项⽬经历。在国内监控行业某头部企业做过一段时间的实习。想着投下字节,可以积累⼀下⾯试经验和为金九银十面招做准备。投了简历之后,过了一段时间,HR 就打电话跟我约时间,说明一下,我投的是北京 office。以下就是一个面试的全部过程,分享出来给感兴趣的朋友们一看。一面自我介绍项目中的监控:那个监控指标常见的有哪些?微服务涉及到的技术以及需要注意的问题有哪些?注册中心你了解了哪些?consul 的可靠性你了解吗?consul