本章将演示如何基于 Linux 命令行构建 Android 应用,在开始本章之前,希望你已经阅读之前几章内容. 本文环境为 RHEL Sandiego 32-bits,要基于 Linux CLI 构建 Android 应用,先决环境为: 1. JDK[1] 2. Android SDK 3. Apache Ant 安装过程需要使用 sudo 权限. 1. 搭建环境 1.1. 安装 JDK JDK 是构建 Android 应用先决条件之一,由于版权原因,一般安装 Open JDK. RHEL 中使…
谷歌提供的 Android SDK 支持 Ant 自动构建[1],你可以使用调试和发行两种模式进行构建,两种模式不同之处在于调试模式 Ant 会调用内置的调试密钥,而发行模式调用你提供的私钥. 首先安装 Ant,并且将它添加到你的执行路径 PATH 里[2]. 调试模式构建 在调试模式下,Ant 会自动使用一个调试密钥对你的安卓应用进行签名,并且使用 zipalign 进行优化. 要进行调试模式下的构建,首先在命令行进入安卓项目根目录,然后使用 Ant 启动调试模式构建: $ ant debug…
创建 Android 项目 在命令行创建 Android 项目需要用到 android 工具(该工具由 Android SDK 提供,位于 <sdk>/tools/ 目录下.).它能自动生成一个项目目录,其中包含若干默认应用程序文件,存案文件,配置文件和一个构建文件. 命令用法[1]: $ android create project \ --target <target_ID> \ --name <your_project_name> \ --path path/to…
Android SDK 提供的 android 工具可以在项目根目录自动生成 Ant 构建文件 build.xml[1].进入项目根目录后,你可以使用以下 Ant 命令[2]. ant clean 清理项目.该命令负责清理本文列出的其他 Ant 命令产生的输出结果. ant debug 构建调试包. ant emma debug 以开启 instrumentation 的方式构建测试项目,可用于代码覆盖的测试. ant release 构建发行包. ant instrument 构建支持 ins…
关于 Android 项目 项目是保存源代码和资源文件的容器. 谷歌提供的 Android SDK 工具只能对具有固定目录结构的项目进行编译和打包.因此强烈建议使用 Eclipse + ADT 或者 android 命令创建 Android 项目. 你可以使用 Eclipse + ADT 创建三种项目,它们主要结构相同但功用不同,分别是 Android Projects.Test Projects 和 Library Projects.本文我们主要关注 Android Projects. 一个…
Android 要求所有应用在安装前必须使用证书进行数字签名.Android 使用该证书来确定一个应用以及其作者身份,该证书不要求由证书发行机构颁发,因此 Android 应用经常使用自我签名的证书,而开发者保管证书的私钥. 你可以使用调试和发行两种模式进行签名.在调试模式下 Android SDK 负责自动生成证书并对应用签名,在发行模式下你需要自行生成属于你自己的证书. 调试模式签名 在该模式下,Android SDK 会自动生成一个调试用的证书,并且使用默认密码对应用进行签名,因此当你需要…
Android 应用的构建过程就是将 Android 项目中的文件和资源进行编译和打包,最后将结果输出到 .apk 文件..apk 文件是保存二进制文件的容器,它包含了运行安卓应用所需的所有信息,例如编译后的 .dex 文件(.class 对应的 Dalvik 字节码),一个二进制的 AndroidManifest.xml 文件,编译后的资源(resources.arsc)和未编译资源. 如果你使用 Eclipse 进行开发,ADT 插件能持续构建你的项目,并将 .apk 文件自动输出到项目的…
离线地图是一张被切成类似瓷砖般格子图像组成,这些被切开的格子组织成多个缩放级别.缩放级别是从0开始.0这个缩放级别,地图图像的尺寸为1*1像素.在每下一个缩放级别,图像尺寸则会两倍递增. 每个地图都是有层和地图对象的. 层是一个抽象的东西,它用来存放地图对象.层可见或不可见.如果层是不可见的,那么存放此层中的地图对象在地图上也是不可见的. 地图对象是可以在地图上显示的对象,其中绘制对象可以用来显示地图对象.地图对象可以添加到任何层,并且对象坐标是以像素为单位. 为了定义一个对象的位置,坐标用原本…
打开文件夹: cd finename 创建目录:mkdir  /filename mkdir -p /test/123/111        (多级目录) 删除目录: rmdir 删除目录或文件: rm 用来查找一个命令的绝对路径: which 用来设置指令的别名: alias 例如 alias rm='rm -i' 查看文件列表: ls (list的简写) -a 列出全部 拷贝文件: cp 如 cp file_1 file_2 若要拷贝目录:  cp -r file_1 file_2 移动文件…
Linux与Androld的关系 虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序.下面我们就来分析一下它们之间究竟有什么千丝万缕关系?1 为什么会选择Linux 成熟的操作系统有很多,比如Unix系统.但是Android为什么选择采用Linux内核呢?这就与Linux的一些特性有关了,比如: (1)强大的内存管理和进程管理方案 (2)基于权限的安全模式 (3)支持共享库 (4)经过认证的驱动模型…