android
工具支持创建3类项目,分别是Android
项目,库项目和测试项目(包括UI
测试项目)。Android
项目是其中最为核心的一类,它包含生成应用程序安装文件(.apk
)所需的文件和资源。
创建Android项目
android
工具创建Android
项目的命令是create project
, 其使用的通常形式为:
android create project\
-n(或--name) <project_name>\
-a(或--activity) <default_activity_name>\
-k(或--package) <package_name>\
-t(或--target) <target_ID> \
-p(或--path) <path_of_the_project>\
其中project_name
是项目名称,是可选的参数,若提供了这个参数,那它也是最终生成的.apk
文件的名称。default_activity_name
是默认的Activity名称,如果没有提供project_name
,这个参数将作为最终生成的.apk
文件的名称。package_name
是项目的包命名空间,与Java编程语言的包名采用相同的规则(小写,以.
分层)。target_ID
是应用程序依赖的Android系统ID,可以通过android list target
获得当前可用的所有系统ID。path_of_the_project
是项目的存放路径,当指定的路径不存在时会自动创建。
下图是运行android list target
显示的本机可用的Android系统ID列表。
选择ID
为3的Android
系统,创建名为HelloWorld
, 的默认Activity
名为HelloWorld
,包名为android.learn
,存放在当前路径下的HelloWorld
目录内的Android
项目。
构建的项目的结构为:
HelloWorld
| - bin
| - libs
| - res
| - drawable-hdpi
| - ic_launcher.png
| - drawable-ldpi
| - ic_launcher.png
| - drawable-mdpi
| - ic_launcher.png
| - layout
| - main.xml
| - values
| - strings.xml
| - src
| - android
| - learn
| - HelloWolrd.java
| - AndroidManifest.xml
| - ant.properties
| - build.xml
| - local.properties
| - proguard-project.txt
| - project.property
src
目录包含项目的Java
源文件,存放在包名定义的文件结构内。bin
是编译过程产生的文件,包括应用程序安装文件.apk
。res
文件夹包含应用程序中使用的所有资源文件,drawable-*
文件夹用于存放不同分辨率的图片文件,layout
存放界面布局文件,values
目录下存放各种XML格式的资源,例如字符串资源文件strings.xml
。AndroidManifest.xml
为Android应用程序的配置文件,配置应用程序的权限等属性。
build.xml
、ant.property
和project.property
支持利用Ant
来生成、安装Android
应用程序,提供了以下几个Ant
构建的目标:
目标 | 作用 |
---|---|
help | 帮助,默认目标 |
clean | 移除由其他目标创建的输出文件。 |
debug | 构建调试用的应用程序安装包,并使用debug key为其签名 |
release | 构建待发布的未签名的应用程序安装包 |
instrument | 构建一个instrumented包,并用debug key签名 |
test | 运行测试。当前项目必须是以编译的测试项目 |
emma | 暂时为后续的目标支持代码覆盖 |
install | 按照新构建的应用程序安装包,需要加上debug, release或instrument指明安装的应用程序包,或采用下面带后缀的安装目标 |
installd | 只安装调试用应用程序包 |
installr | 只安装供发布的应用程序安装包 |
installi | 只安装instrumented应用程序包 |
installt | 只安装测试或被测试的包 |
uninstall | 从一个运行的仿真器或设备中卸载应用程序 |
构建、安装和运行Android应用程序
实验环境是Ubuntu 14.04 64位系统。由于Android sdk
的工具都是在32位的库编译的,在64位无法找到相应的库,在使用aapt
、emulator
等工具时会出现“No such file or directory”的错误。按照Android开发者网站提供的解决方法安装相应的库来解决这一问题。
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386
切换到项目目录,执行ant debug
生成调试用的应用程序安装包。
执行android avd
打开AVD管理器,启动Android虚拟设备。
使用ant installd
安装应用程序到该虚拟设备,运行应用程序。
参考文献
- Wei-Meng Lee. Beginning Android 4 Application Development. John Wiley & Sons, Inc. 2012.
- 李刚. 疯狂Android讲义. 电子工业出版社. 2011.
- http://wear.techbrood.com/sdk/installing/index.html?pkg=tools
- http://www.android-doc.com/tools/projects/projects-cmdline.html