1.3 从命令行创建 “Hello, World”应用程序
Ian Darwin
1.3.1 问题
你想在不使用Eclipse ADT插件的情况下创建新的Android项目。
1.3.2 解决方案
使用Android开发工具包(Android Development Kit,ADK)中的android工具,利用creat project参数和一些附加参数配置你的项目。
1.3.3 讨论
除了平台名称之外,android还是一个用于创建、更新和管理项目的命令行工具的名称。可以进入android-sdk-xxx目录,或者设置PATH变量包含tools子目录。
接着,为android create project命令添加一些参数,创建新项目。例1-1是运行于MS-DOS下的例子。
例1-1:创建新项目
C:> PATH=%PATH%;"C:\Documents and Settings\Ian\My Documents\android-sdk-windows\tools"; \
"C:\Documents and Settings\Ian\My Documents\android-sdk-windows\platform-tools"
C:> android create project --target android-7 --package com.example.foo
--name Foo --activity FooActivity --path .\MyAndroid
Created project directory: C:\Documents and Settings\Ian\My Documents\MyAndroid
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\src\com\example\foo
Added file C:\Documents and Settings\Ian\My
Documents\MyAndroid\src\com\example\foo\FooActivity.java
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\bin
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\libs
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res\values
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\res\values\strings.xml
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res\layout
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\res\layout\main.xml
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\AndroidManifest.xml
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\build.xml
C:>
表1-2列出了creat project代码中使用的参数。
如果请求的操作无法完成,android命令将列出大篇幅的“命令使用方法”信息,列出所有可以进行的操作和相应的参数。如果命令成功完成,android create project将创建表1-3中列出的文件和目录。
Android通常建议在res/layout目录下用XML布局文件创建用户界面,但是也可以用Java编写所有代码。为了保持示例的独立性,现在将采用“错误”的方法——使用你所喜爱的文本编辑器,将HelloWorld.java文件的内容替换为例1-2中的内容。
例1-2:HelloWorld.java
import androi d.app.Activity;
import android.widget.*;
public class Hello extends Activity {
/**
* 这个方法在活动实例化(例如响应主屏幕时单击应用程序图标)时调用*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//为当前活动创建TextView
TextView view = new TextView(this);
//显示一些信息
view.setText("Hello World");
//将新创建的视图放到活动中
//类似 JFrame.getContentPane().add(view)
setContentView(view);
}
}
假定你安装了Apache Software Foundation的Ant Build Tool,现在可以(在命令行窗口中)转到项目目录下(例1-1中的...MyDocumentsMyAndroid),发出如下命令:
ant debug
该命令创建存档文件,例如bin目录中的MyAndroid.apk(“apk"是Android Package的缩写)。
如果这是第一次创建Android项目,可能需要创建一个Android虚拟设备(Android Virtual Device ,AVD),这是用于Android模拟器的一个命名配置,指定目标分辨率、API级别等信息。可以用如下命令创建模拟器:
android create avd -n my_droid -t 7
创建AVD的更多细节参见攻略3.3。
接着,可以启动Android调试桥(Android Debug Bridge,ADB)服务器和模拟器:
adb start-server
emulator -avd my_droid -t 5
假定你已经运行了模拟器或者通过USB插入并识别了设备,就可以使用如下代码:
adb -e install -r bin/MyAndroid.apk
-e标志用于模拟器;对于真实设备使用-d标志。
如果你熟悉shell脚本或者批处理文件,可以创建脚本(如download),避免在每次构建周期中都输入adb调用。
最后,可以启动应用程序了!可以使用应用程序列表:触摸看上去像一个5×5点阵的小图标,按照名称滚动到你的应用程序,触摸程序图标。
你可能会发现,在设备或者模拟器的主屏幕上为应用程序创建图标是很方便的;这个图标在多次install -r循环后仍能保留,因此是测试应用程序运行的最简方法。
1.3.4 参阅
攻略1.4。博客“a little madness”有更详细的叙述。