如何在Tizen 5.5穿戴设备中创建多包原生应用以实现GUI启动Service?
Tizen 5.5 穿戴设备多包原生应用创建步骤
1. 搭建多包项目基础结构
- 打开Tizen Studio,新建一个Native Wearable 5.5类型的GUI项目作为主包载体。
- 在项目根目录创建
multi文件夹,用于存放多包全局配置文件。 - 在
multi文件夹内新建manifest.xml,作为多包项目的全局清单。
2. 配置全局多包清单
编辑multi/manifest.xml,填入以下核心配置,替换占位符为实际包ID:
<manifest xmlns="http://tizen.org/ns/packages" api-version="5.5" package="com.your.company.app" version="1.0.0"> <profile name="wearable" version="5.5"/> <multi-package> <package-id>com.your.company.app.gui</package-id> <package-id>com.your.company.app.service</package-id> </multi-package> </manifest>
package为全局根包ID,子包ID需基于此扩展。
3. 改造原有GUI应用为子包
- 打开GUI应用的
tizen-manifest.xml,将package属性修改为子包ID(如com.your.company.app.gui)。 - 添加
parent-package属性关联全局根包ID:
<manifest xmlns="http://tizen.org/ns/packages" api-version="5.5" package="com.your.company.app.gui" version="1.0.0" parent-package="com.your.company.app">
- 保留原有
appmanager.launch等权限配置。
4. 转换Service应用为子包
- 将原有Service应用的代码目录复制到主项目下(如新建
service子目录存放),或通过Tizen Studio的导入功能将Service项目作为子模块加入主项目。 - 修改Service应用的
tizen-manifest.xml:- 把
package属性改为子包ID(如com.your.company.app.service)。 - 添加
parent-package="com.your.company.app"。 - 确认应用类型为
service:
- 把
<ui-application appid="com.your.company.app.service" exec="your-service-exec" type="service" multiple="false" taskmanage="false">
5. 调整Service启动代码
在GUI应用中启动Service时,直接使用子包的appid即可,示例C代码:
app_control_h app_control = NULL; app_control_create(&app_control); app_control_set_app_id(app_control, "com.your.company.app.service"); int ret = app_control_send_launch_request(app_control, NULL, NULL); if (ret != APP_CONTROL_ERROR_NONE) { dlog_print(DLOG_ERROR, "GUI_APP", "Launch service failed: %d", ret); } app_control_destroy(app_control);
6. 编译与部署
- 右键点击主项目,选择Build Project,Tizen Studio会自动编译所有子包。
- 部署时选择主项目,平台会将所有子包打包为一个统一安装包,部署到穿戴设备后,GUI即可正常启动同包内的Service应用。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

