您的位置:首页 > Web前端 > HTML

libgdx html 跨平台的坑

2015-06-09 15:20 295 查看
跨平台各种坑,记录下这几天搞libgdx java项目转html的坑。

1.下载最新的libgdx 客户端 release 1.6.2,需要支持 jdk 1.7.0 版本。搞一个demo呗,ok,一会就成功了。android 和 html 都能成功发布,太简单了(坑总是隐藏在你不知道的地方,掉下去才知道)

2.那就把写好的libgdx core项目发布html吧....于是发现了各种坑:

A .libgdx html 是使用 gwt来支持的,所以 gwt 不支持的特性 libgdx html 也支持不了 ,比如说 多线程,比如说 java 反射机制,原本的core项目中有很多这种调用的地方。改改改。。。

B. 引用jar包 的路径找不到。libgdx 的jar 都有一个配置的xml 说明文档,我引用的protobuf jar没有,照着写一个?--没有成功。于是从github上 搞来protobuf源码,放在core目录下面。 再跑,发现 protobuf 中也用到了 java反射机制,给跪。。。。

C 在发布的过程中还发现了一些小bug 比如:Syntax error on token "Invalid Character", delete this token  找到相应的类文件,把他编码设置成us-ascii ,发现 package前面有一些乱码,删掉。重新跑还是报错。。。

D Exception IOException is not compatible with throws clause in FilterInputStream.available() 有一些 IO 相关的好像也是不支持的。

反正我最后是跪了,555555555555555555.。。。

有没有 做过 libgdx html 发布的大神遇到上述的问题啊,请指教一下有没有好一点的解决方案?谢谢。

-------------------

2015/6/10 发现了解决方案:

多线程和java 反射机制(pb里面用到了)其实都是关于网络的,用 jsni java 和js 相互调用的方法,把网络交互的这一层放到js端 便可以解决问题。

D的问题应该是ABC没有解决好,我删除core项目中的网络交互相关项时,项目 gwt可以编译发布了。

接下来需要解决:网络交互部分移到js端 ,js和java的数据交互。(其实工作量还是好大。。。55555555555)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  跨平台 libgdx html gwt jsni