转载请注明出处谢谢:http://blog.csdn.net/u011504118/article/details/48573053
参考资料:Android离线打包
前言
这两天研究了一下DCloud怎么用,先说一下体验吧。性能还不错,比Cordova/phonegap好多了,但还是有一些坑,毕竟还不是很成熟。然后官方给出的资料也有点乱。看的时候需要静下心来去看,评论区也会有一些有用的回复。
我下载的SDK版本是9月2号发布的,其他的没试。
官方给出的方法是用Eclipse制作的,看官方的意思应该短时间内不会有Android studio的教程。不过还是可以用AS打包的。
为了方便,我直接在SDK中的demo修改,如果自己新建一个新的应该也没问题(我没试过)。
导入Eclipse项目
使用AS自带的导入Eclipse项目功能,将离线打包Android版SDK中的HBuilder-Hello导进来。
导入完之后会发现报错:
根据提示删掉多余的行就OK了。
需要注意的是HBuilder-Hello使用的是GBK编码,需要将它换位UTF-8(Gradle应该会有提醒的。)
HBuilder-Hello自带了很多SDK,根据需要删掉没用的。
配置
配置应用名称和启动页面。
根据自己的需求导入相应的SDK。
由于第三方库需要使用一些特定的数据,所以在使用时需要将相关参数配置到AndroidManifest.xml文件中。
删掉AndroidManifest.xml中报错的权限,否则打包的时候会报错
配置应用权限
在AndroidManifest.xml文件修改应用的版本信息。versionCode和versionName建议与AndroidManifest.json中的一样。
最后运行一下试试。
注意:因为其它第三方的SDK也使用到包名相关资源配置,所以需要在AndroidManifest.xml将所有“io.dcloud.HBuilder.Hello”替换成要修改成的包名。
导入H5+项目
打开assets -> apps目录(建议在文件夹中操作,AS不太好操作),将下面“HelloH5”目录名称修改为应用manifest.json中的id名称(这步非常重要,否则会导致应用无法正常启动),并将H5+项目所有应用资源替换掉到www目录中的所有文件.
打开assets -> data下的control.xml文件,修改appid和appver的值(和manifest.json中的一样),hbuilder节点的属性version值为应用基座版本号(plus.runtime.innerVersion返回的值),不要随意修改。
最后运行起来。
注意
离线打包的如果想更新,需要在manifest.json中配置nativeobj模块(暂时没研究),否则会报错。