448993299
448993299
  • 发布:2016-09-10 18:30
  • 更新:2016-09-10 19:02
  • 阅读:12780

关于离线打包:把已经做好的H5项目打包成一个完整的APP怎么这么难?

分类:HBuilder

说一下我的背景:不懂原生APP开发,只知道做H5手机网站。已经做好一个,需要打包APP,并具备二维码扫描,自动更新,消息推送完整功能。我期望的理想打包模式,是先纯H5离线自主打包,然后逐步添加原生二维码扫描等功能,自主性要强。还没感觉到Hbuilder适合我这种需求。

一、离线打包,问题太多:
1、Hbuilder编辑器里的离线打包android的文章,导入hello_world项目根据文章什么问题都没有,把www下的html,css,js文件换成自己的,就没界面了,其他什么都没改。

2、根据http://ask.dcloud.net.cn/article/526是widgets模式(也不懂widget是什么我玩意),没调出来。

二、我目前知道的最简洁的方式是:直接在eclipse中创建一个android应用,通过webview加载assets下的index.html文件。
就这一句: webview.loadUrl("file:///android_asset/index.html"); 这里有疑问:目录名称是assets,为什么加载时要用android_asset? 这背后都是原理和逻辑,不懂这些就是摸黑走路。

很多人都会漏掉讲android应用的创建过程:是创建activity,还是不创建activity。

一个正常的android项目都需要选择创建,然后会在src目录中有个MainActivity.java,作为程序执行的入口,在该入口函数里再加载res/layout/里的activity_main.xml,作为首页内容。

而离线打包示范的代码里就没有MainActivity,是从哪里开始执行代码的呢? 不明白原理,就是两眼摸黑,完全只能模仿了。反正不懂什么道理,模仿就行了。但看前面,纯粹模仿,只是换了www里的内容,就不行,因为不知道原理,就傻眼了,没有任何办法。

三、通过cordova生成项目,再导入eclipse,也是一种方式。但同样,一堆文件,不知道那些都是干什么的,为什么目录结构要是这样。要增加额外的二维码扫描,自动更新等更能,又是一堆研究。

四、在线打包就免了。

最后发问,混合式的hybrid APP开发,为什么没人能从逻辑和原理上,写出一个完整的APP教程。我的核心功能都是H5实现,怎么样方便打包(webview目前最简单,原理也明白),然后后期如何方便加入原生功能,调用各种手机资源,我没看到这样的教程。我只能猜是懂的人不愿意说吧,教会徒弟饿死师傅。

2016-09-10 18:30 负责人:无 分享
已邀请:
赵梦欢

赵梦欢 - 专注前端,乐于分享!

我简单说一下我的观点和意见,希望楼主理性去思考。

为什么不详细从零开始讲解怎么一步步建立android工程,然后一步步教你怎么使用5+ sd中的项目一个个的加进去集成?

任何技术的“修炼”(容我这么说)都不是一朝一夕,就像你会前端开发,那么一开始你在学的的时候你是不是期待有人教你怎么一个个页面去写怎么使用框架,但是除了那些培训机构,谁会那么做?5+ sdk如果只是离线打包,你把hbuilder中的项目导入到eclipse或者xcode中,离线打个包都应该不是什么问题,但是很多人可能是希望一步步去学习5+ sdk实现原理,怎么去拓展,但是一般来说如果有一些原生基础的人看看文档应该摸索一些问题不大,因为他们知道很多原生中的基本知识,比如你提到的file:///android_asset/index.html,这些都不用说,就是大家基本都知道的,类似于在使用一个js框架时候你觉得别人需要告诉你用过script标签去引用js文件,我相信基本没人会强调。在原生开发中网络操作,原生与webview中的js交互本来都是基本东西,没有原生基础,即使文档讲解了也没有实际意义。而且如果从零讲起,那恐怕也需要一本书来说明。

建议与其困惑,还不如先去看看原生基本语法和API,自己尝试先写一个尽可能完整的APP,熟悉基本的东西,然后再考虑怎么拓展的问题。比如你现在需要加一个原生的sdk模板,先用原生实现了,能够跑透通了,然后再考虑写成5+ 插件,一步步的去做吧。如果时间有限,可以在外包区发帖子,外包找人写。

448993299

448993299 (作者)

你说的有道理,真正想自主做好一个混合式的APP开发,没有那么容易,必须得先具备原生开发的技能。对于我这种小白来说,现在可能唯一的选择就是在线傻瓜式的打包了。

  • 赵梦欢

    加油,任何人都是从新手过来的,没有人会看不起新手,只会看不起那些伸手党。

    2016-09-10 19:08

该问题目前已经被锁定, 无法添加新回复