Android 平台指南
本指南介绍如何设置SDK环境以部署Cordova Android应用程序,并可选在开发工作流中使用Android命令行工具。无论您想使用平台特定的shell工具还是跨平台Cordova CLI进行开发,都需要安装Android SDK。有关两种开发路径的比较,请参阅概述;CLI的详细信息,请参阅命令行界面。
要求和支持
Cordova Android系统要求可以在OS X、Linux或Windows操作系统上安装Android SDK。详情请参考Android SDK的系统要求。
Cordova支持Android 4.0.x(API级别14)及更高版本。通常,当Android版本在Google分布仪表板中低于5%时,Cordova会提供支持。早于API级别10的Android版本,以及3.x版本(Honeycomb,API级别11-13)显著低于5%阈值,因此不受支持。
安装Cordova壳工具
如果您想使用Cordova的Android中心壳工具与SDK一起工作,请从cordova.apache.org下载Cordova。如果您计划使用命令行界面的跨平台CLI工具,则可以忽略此节。
Cordova下载包含每个平台的单独文件。请确保展开相应的存档,本例中为android,在一个空目录内。可执行实用程序可在顶级的bin目录中找到;有关更详细的说明,请参阅README文件。
这些壳工具允许您创建、构建和运行Android应用程序。有关额外命令行界面和跨所有平台的插件功能信息,请参阅使用Plugman管理插件;如何开发插件的详细信息,请参阅应用程序插件。
安装JAVA开发工具箱(JDK)
安装JAVA开发工具箱(JDK)7或更高版本。在Windows上安装时,您还需要根据JDK安装路径设置JAVA_HOME环境变量,例如C:\Program Files\JAVA\jdk1.7.0_75。
安装Android SDK
安装独立的Android SDK工具或Android Studio。如果您计划开发新的Cordova for Android插件或使用本机工具来运行和调试Android平台,Android Studio是理想的开发环境;否则,Android独立SDK工具足以构建和部署Android应用程序。详细的安装说明,请参见上述安装链接。
为了使Cordova命令行工具工作,您需要在PATH中包含SDK的tools和platform-tools目录。在Mac或Linux上,您可以使用文本编辑器创建或修改~/.bash_profile文件,添加如下行(根据SDK安装位置调整):
export PATH=${PATH}:/Development/android-sdk/platform-tools:/Development/android-sdk/tools
这行在新打开的终端窗口中暴露这些工具。如果终端窗口已在OSX中打开或需避免Linux上的注销/登录,运行此命令以使它们可用。
在Windows上修改PATH环境变量:
- 在桌面左下角的开始菜单上单击,在计算机上右键,然后选择属性。
- 在左侧列中选择高级系统设置。
- 在结果对话框中,按下环境变量。
- 选择
PATH变量,然后按编辑。 - 追加以下到
PATH(根据SDK安装位置调整,例如):
;C:\Development\android-sdk\platform-tools;C:\Development\android-sdk\tools
- 保存值并关闭两个对话框。
安装SDK包
打开Android SDK管理器(例如通过终端运行android)并安装:
- Android 5.1.1(API 22)平台SDK
- Android SDK构建工具版本19.1.0或更高版本
- Android支持存储库(额外)
有关更多详细信息,请参阅安装SDK包文档。
配置模拟器
默认情况下,Android SDK不提供任何默认模拟器实例。您可以通过在命令行上运行android来创建一个新的:选择工具 → 管理AVDs(Android虚拟设备),然后从设备定义中选择任何项。按创建AVD,可选修改名称,然后按确定以接受更改;AVD将出现在虚拟Android设备列表中。
要打开模拟器作为单独的应用程序,选择AVD并点击开始。它启动后类似真实设备,并提供硬件按钮控件。
为了获得更快的体验,您可以使用虚拟机加速以提高执行速度。许多现代CPU支持虚拟化技术,如Intel VT-x或AMD-V(仅限Linux)。在尝试加速前,请确认您的CPU支持。例如,对于Intel处理器,可以运行Intel处理器识别实用程序来检查VT-x支持。
为了加快模拟器,您需要下载并安装Intel x86 Atom系统镜像以及Intel硬件加速执行管理器(HAXM)。打开Android SDK管理器,选择Intel x86 Atom系统镜像(针对您要测试的版本),然后转到额外项并安装Intel x86模拟器加速器(HAXM)。
安装后,运行Intel安装程序(位于Android SDK的extras/intel/Hardware_Accelerated_Execution_Manager目录中)。注意:安装问题可参考Intel相关文章获取逐步指导。设置步骤包括:
- 安装Intel x86 Atom系统镜像和HAXM。
- 运行Intel安装程序。
- 创建新的AVD并设置为Intel图像目标。
- 启动模拟器时,确保没有加载HAX模块的错误消息。
创建一个新项目
要创建新项目,您可以选择跨平台CLI工具或特定于Android的shell工具。使用CLI的方法如下(在源代码目录中):
$ cordova create hello com.example.hello HelloWorld
$ cd hello
$ cordova platform add android
$ cordova prepare # 或 "cordova build"
使用较低级别shell工具的方法(适用于Unix和Windows):
$ /path/to/cordova-android/bin/create /path/to/new/hello com.example.hello HelloWorld
C:\path\to\cordova-android\bin\create.bat C:\path\to\new\hello com.example.hello HelloWorld
生成项目
如果您使用CLI开发,项目目录的顶级www目录包含源代码文件。运行以下命令重新生成应用程序:
$ cordova build # 构建所有已添加平台
$ cordova build android # 仅构建Android调试版本
$ cordova build android --debug # 仅构建Android调试版本
$ cordova build android --release # 仅构建Android发布版本
如果使用特定于Android的shell工具,生成项目后,默认应用程序源位于assets/www子目录中,后续命令可在cordova子目录中运行。build命令清理项目文件并重新生成应用程序;语法示例如下(前两个为调试构建,后两个为发布构建):
$ /path/to/project/cordova/build --debug
C:\path\to\project\cordova\build.bat --debug
$ /path/to/project/cordova/build --release
C:\path\to\project\cordova\build.bat --release
部署应用程序
使用Cordova CLI实用程序将应用程序部署到模拟器或设备:
$ cordova emulate android # 在默认Android模拟器上部署应用
$ cordova run android --device # 在连接设备上部署应用
或者使用备用壳接口:
$ /path/to/project/cordova/run --emulator
$ /path/to/project/cordova/run --device
您可以使用cordova run android --list查看所有可用目标,并使用cordova run android --target=target_name在特定设备或模拟器上运行应用程序(例如cordova run android --target="Nexus4_emulator")。运行cordova run --help可查看附加构建和运行选项。
当您运行应用程序时,也会构建它;可以附加--debug、--release和--nobuild标志来控制构建行为,例如:
$ /path/to/project/cordova/run --emulator --nobuild
其他命令
以下命令生成应用程序运行时的详细日志:
$ /path/to/project/cordova/log
C:\path\to\project\cordova\log.bat
清理项目文件:
$ /path/to/project/cordova/clean
C:\path\to\project\cordova\clean.bat
在SDK中打开一个新项目
一旦Android平台添加到项目中,您可以从Android Studio内打开它:
- 启动Android Studio应用程序。
- 选择导入项目(Eclipse ADT, Gradle等)。
- 选择Android平台存储位置(例如
your/project/platforms/android)。 - 对于Gradle同步问题,简单回答是即可。
现在,您可以直接从Android Studio构建并运行应用程序。更多细节请参阅Android Studio概述和从Android Studio构建运行文档。