app包格式 我们通过对app包结构的统一,来规范我们的设计思维,既保证了产品的整体性,又提高了它的稳定性,能快速提高我们的编程效率;
application.xml 包含了关于该app的重要信息;
component 包含common文件与应用运行起始模块;
i18n 处理本地化内容,包含string文件夹;
icon 图标文件,应用图标名称为icon.png;
key.enc 打包前会加密,在使用时需进行解密;
launch 启动图片,启动图片名称为launch.png;
pluginConfigs.xml 配置某些必须要加key的插件;
properties 键值对存取器,native和js有统一的接口;
splash 引导页图片,包含android与ios文件夹;
一个简单的application.xml文件配置清单如下:
属性 | 描述 | 备注 |
---|---|---|
id | 应用ID,由云服务器自动分配。它是该app在云端的唯一标识。云服务器根据此ID对app进行管理并提供辅助服务,如:更新升级、统计分析、推送服务等。 | 必选 |
元素 | 二级元素 | 描述 | 备注 |
---|---|---|---|
name | 应用的名称 | 必选 | |
description | 应用的简单描述信息 | 可选 | |
author | 应用的作者信息 | 可选 | |
name | 作者姓名 | 可选 | |
作者联系邮箱 | 可选 | ||
tel | 作者联系方式 | 可选 | |
address | 作者联系地址 | 可选 | |
license | 证书 | 可选 | |
url | 证书路径 | 可选 | |
version | 应用版本号 | 自动 | |
obfuscation | 是否加密 | 可选 | |
orientation | 应用是否旋转 | 可选 | |
entry | 应用运行起始component(模块) | 必选 | |
bgcolor | 窗口背景颜色 | 可选 | |
appkey | 应用的key | 自动 | |
logServer | IDE对应IP,日志输出的配置 | 自动 | |
logPort | IDE对应端口号 | 自动 |
component文件夹包含common文件夹与应用运行起始component(模块)。
common文件夹包含前端开发框架。
应用运行页面的文件夹包含component.xml与应用运行网页文件。
component.xml包含了关于该模块的重要信息,如:启动页面名称、描述、版本等信息。
一个简单的component.xml文件配置清单如下:
元素 | 描述 | 备注 |
---|---|---|
version | 模块的版本号 | 自动 |
url | 模块的起始页名称 | 必选 |
description | 模块的简单描述信息 | 可选 |
bgcolor | 模块的背景颜色 | 可选 |
name | 模块名称 | 必选 |
i18n处理本地化内容。
其中i18n文件夹包含string文件夹,string文件夹包含语言文件夹,语言文件夹的名称以“语言代码_国家地区”构成, 如en_US与zh_CN文件夹,分别代表英语(美国)与简体中文(中国)。语言文件夹下包含strings.xml文件。
strings.xml包含了需要进行本地化处理的字符串的名称,与字符串经本地化后的实际内容。
一个简单的示例如下:
在前端HTML页中使用时,有两种方式使用该字符串。
icon包含图标文件。应用图标名称为icon.png,建议分辨率为150*150。(云端编译有效,如果云端没有设置icon,则取此图标。IDE本地测试包有效。)
key.enc文件在打包前会加密,在使用时需调用该对象的函数进行解密,详情请参照key.enc说明文档
launch包含启动图片。启动图片名称为launch.png,建议分辨率为1080*1920。(云端编译有效,如果云端没有设置launch,则取此图标。IDE本地测试包有效。)
由于某些插件必须要使用key,此时pluginConfigs.xml就可以配置这些信息,详情请参照pluginConfigs.xml说明文档
properties为键值对存取器,native和js有统一的接口。
其中properties文件夹包含一级文件夹(domain),存取文件".properties"为后缀的文件。此文件包含key/value信息。如demo插件文件夹下包含demo.properties文件。
配置文件以"键=值"对的形式填写内容,如ademo.properties文件配置:
在前端可以使用rd.properties对象来管理该文件中的内容。如获取demo.properties文件的内容:
var currentProperty = rd.properties.openProperties("demo","demo");//如果没有demo.properties文件会创建
var demoApikey = currentProperty.getProperty("demo_apikey");
currentProperty.putProperty("key","value");
currentProperty.deleteProperty("demo_apiSecret");
currentProperty.clean();
splash包含引导页图片。
其中splash文件夹包含android与ios文件夹,各自文件夹包含各自的引导页图片。图片按照正整数命名,名称决定了引导页图片的顺序。