在实际开发中,为了提高效率,会把H5写好的APP嵌入到我们自己的APP中,这样加快了开发效率,但是集成的时候会出现各种问题。
1、首先我们需要在http://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/103下载集成所需要的SDK,
2、新建一个项目,把SDK下的jar包根据需要添加到项目的libs下面。
3、从Feature.xls中查看你所需要的权限,添加到AndroidMainifest文件中,注意,如果集成的有支付宝和微信支付功能,需要在这里添加配置,在 H5+SDK\HBuilder-Integrate的AndroidMainifest文件中可以查看需要配置的相关信息,并且微信支付需要导入 H5+SDK\SDK\src\io\dcloud\HBuilder\wxapi下的文件,注意包名必须是这个,不能改变
4、导入D:\H5+SDK\SDK\src\io\dcloud\RInformation.java文件,路径和名字不能改变
5、导入SDK中的资源文件
6、在和Java平级的目录下添加文件夹,名字为assets,里面添加文件,命名为apps,再加入文件,名字是你的H5项目的manifest中的id,继续添加 文件,命名为www。把你的H5项目整个放在www文件夹下。对应的地方,名字应该一致。
7、把H5+SDK\SDK\assets\data下的data文件复制过来,放在assets文件夹下,
8、修改dcloud_control.xml文件中的内容,
把APPID和appver换成你在manifest中看到的,也就是上面标注的
9、把D:\H5+SDK\HBuilder-Integrate\src\com\HBuilder\integrate下的SDK_WebApp文件复制过来,放在你的工程中,这个就是运行H5 APP的载体,也就是一个Activity,要在你的AndroidManifest文件中注册,我这里直接设置为启动,运行程序就直接打开了
10、在SDK_WebApp文件中修改内部类WebappModeListener下的
把apps后面的路径名,改成你的H5项目的APPID,也就是上面配置的文件名,这个路径就是打开指定路径下的H5 APP
11、现在就可以启动程序直接运行了。
如何集成两个H5 APP,并且能互相跳转
有个项目的需求是:把两个封装的H5 APP连接在一起,中间留一个入口,点击后切换到另外一个,这时候我们需要新建一个依赖module,执行上面的操作,在建一个主module,主module中只需要配置权限和指定的文件夹,jar包不需要导入,只需要添加第一个module为依赖就可以了,具体的方法调用,可以参考http://ask.dcloud.net.cn/article/88 里面详细介绍了原生APP和JS的调用方式。这里就不做介绍了,写的代码很少。但是由于SDK只能初始化一次,所以需要把你的主module中的
// 初始化5+ SDK, // 5+SDK的其他接口需要在SDK初始化后才能調用 // SDK.initSDK(coreHandler); // // 设置当前应用可使用的5+ API // SDK.requestAllFeature();
这两句注释掉,这个时候就可以运行了。
排版可能有点差,只是简单的记录一下所遇到的问题,还需要改进