预备环境

Android开发环境,推荐使用ADT开发工具; 并要求安装Android4.0(API 14)SDK。

下载HBuilder离线打包Android版SDK(5+ SDK下载)。

离线打包SDK目录说明

HBuilder-Hello:离线打包演示应用;

libs:SDK库文件目录;

Feature列表.xls:Android平台各扩展Feature API对应的permission;

Readme.txt:版本说明文件。

配置编译工程

导入演示应用HBuilder-Hello工程

启动带ADT的eclipse程序,菜单中选择“File”-> “Import”,打开Import对话框,选中Android下的“Existing Android Code Inot Workspace”:

android 离线 推送 android离线开发_json

点击“Browse...”选择模板应用的目录,并选中“Copy project into workspac”将应用导入到Workspace中:

android 离线 推送 android离线开发_Android_02

演示工程中已经配置好HelloH5应用相关资源,完成导入后,可Ctrl+F11直接编译运行:

android 离线 推送 android离线开发_Android_03

从SDK目录中拷贝要使用的feature库到工程libs目录

参考“Feature列表.xls”文档确定应用中使用到的扩展API,拷贝libs目录中对应的jar/so文件到应用工程的libs目录下。如使用分享功能(新浪微博分享、腾讯微博分享,微信分享),则需要拷贝以下文件:

android 离线 推送 android离线开发_android 离线提交_04

拷贝完成后在工程中F5刷新可在工程的libs目录下显示:

android 离线 推送 android离线开发_json_05

注意:如果不需要使用到HTML5Plus API,则仅需要pdr.jar包即可。

配置应用的权限

参考“Feature列表.xls”文档确定应用中使用到的扩展API,在AndroidManifest.json文件中删除不用到API的权限。如不使用音频(plus.audio.*)相关5+ API,则可删除Audio相关的权限:

android 离线 推送 android离线开发_json_06

配置其它第三方库的数据

由于第三方库需要使用一些特定的数据,所以在使用时需要将相关参数配置到AndroidManifest.json文件中。如使用分享功能,则需要配置各分享平台的申请应用的相关参数:

android 离线 推送 android离线开发_Android_07

如果不使用此类API,则可将此数据删除。

配置应用的包名及版本号

打开AndroidManifest.xml文件,在代码视图中修改根节点的package属性值,如下:

android 离线 推送 android离线开发_API_08

其中package为应用的包名,采用反向域名格式,为应用的标识;versionCode为应用的版本号(整数值),用于各应用市场的升级判断,建议与manifest.json中version -> code值一致;versionName为应用的版本名称(字符串),在系统应用管理程序中显示的版本号,建议与manifest.json中version -> name值一致。 注意:因为其它第三方的SDK也使用到包名相关资源配置,所以需要在AndroidManifest.xml将所有“io.dcloud.HBuilder.Hello”替换成要修改成的包名。

配置应用名称

打开res -> values -> strings.xml文件,修改“app_name”字段值,该值为安装到手机上桌面显示的应用名称:

android 离线 推送 android离线开发_android 离线 推送_09

配置应用图标和启动界面

将应用的图标(文件名为icon.png)和启动图片按照对应的尺寸拷贝到工程的res -> drawable-XXX目录下:

android 离线 推送 android离线开发_android 离线提交_10

更新应用资源

打开assets -> apps 目录,将下面“HelloH5”目录名称修改为应用manifest.json中的id名称(这步非常重要,否则会导致应用无法正常启动),并将所有应用资源拷贝到其下的www目录中:

android 离线 推送 android离线开发_Android_11

配置应用信息

打开assets -> data下的control.xml文件,修改appid值:

android 离线 推送 android离线开发_android 离线提交_12

其中appid值为HBuilder应用的appid,必须与应用manifest.json中的id值完全一致;appver为应用的版本号,用于应用资源的升级,必须保持与manifest.json中的version -> name值完全一致;version值为应用基座版本号(plus.runtime.innerVersion返回的值),不要随意修改。

配置完成编译运行

应用配置完毕,按Ctrl+F11编译运行应用:

android 离线 推送 android离线开发_android 离线 推送_13

选择“Android Application”启动应用,在弹出的设备列表对话框中选择要运行的设备:

android 离线 推送 android离线开发_android 离线提交_14

点击OK后启动应用:

android 离线 推送 android离线开发_android 离线 推送_15

编译运行后在bin目录下会生成apk,此apk不能提交到应用市场 如果要生成提交到应用市场的正式apk请搜索“android导出apk” 编译过程中碰到问题可参考Android离线打包常见问题 iOS平台请参考iOS离线打包 AndroidStudio打包请参考Android平台使用AndroidStudio离线打包说明