|
本文来自:http://bbs.9ria.com/thread-197503-1-1.html
目前为止我为项目共接入了大概7-8家或大或小的平台。深知AIR移动项目接入运营平台在打造ANE过程中会有各种各样的问题。在这里我打算把我遇到的问题 和解决方式记录下来,也许你用得着 也许你已经遇到过 也许你已经解决掉。接下来我会从我的air项目和各种android应用运营平台方的SDK接入过程 中 遇到的问题进行探讨。其中有些问题已经解决 有些问题解决得很差强人意,有些问题尚未解决。也请已经解决了这些问题的朋友 能和我交流。当然我对原生android开发刚刚入门 有一些看法或多或少存在错误。也请看到的朋友能Email我指出。(rectvv[at]gmail[dot]com)
再次声明下,这里仅仅写下我遇到的问题 和我个人的解决方式 关于ANE还有很多很多我没遇到的问题。同样如果同一个问题 您有更好的解决方式 希望能指导下我。小弟不胜感激。
首先关于最近大家都在群里讨论 AIR是生是死的问题,ASER是否转行的问题,我觉得应该把当下的事情做好,就像CODE COMPLETE里面说的一样。程序员应该是超越语言的。当然我目前还没到这水平。接下来进入正题。 在这之前 我之前写了一些关于ANE更早的一些文章: http://www.shadowkong.com/archives/tag/ane ————————————————– 我的项目信息: 使用的跨平台技术:Adobe Air 使用的GPU加速框架(引擎?):Starling 使用的AIR SDK版本:3.5(AIR3.5打包STARLING项目出来的的APK对于HTC的机器会有一个BUG,更新到AIR3.7之后 HTC的BUG解决了 但是对三星的一款机器又出一个新BUG 目前我还在寻找完美的解决方式 当前我的解决方式并不完美 详细的BUG描述会在后面统计的时候给出)
在接入的那么多平台中 在这里选择一个平台SDK看起来最繁琐 在打包ANE的时候 需要做的处理最多的 平台 做为例子。当然由于这个平台的SDK里面明确表示不允许 向他人 传播。所以我在后面的源码 与 附件中 会把 该平台的相关JAR 文档 等等去掉。但是如果你也接这个平台 那你可以完全拿过来套用。
接入的平台信息: 针对设备:android 需要打包入AIR APK的资源有:res assets两种资源处理方式都有。(在之前我就写过一篇关于ANE如何处理资源的问题的文章)平台方接入的第三方(对于游戏是第四方):微博授权登录 QQ授权登录 平台方需要加入的activity情况:这个平台需要加入的activity声明是最多的 在这个平台的 -app.xml也是最臃肿的,这会涉及到一个SDK activity 与 游戏activity 如何通信切换的问题。在之前就遇到过一个问题 把游戏主activity传给SDK的时候 执行完SDK操作 返回不了游戏activity 详细的解决方式 请看我前面的一篇文章。 平台方需要加入的JAR数量:6个(平台方的JAR最后全部都需要打包成一个JAR 才能生成ANE 这个问题的解决方式后面会给出) ——————————————————-
第一步 准备工作 1.在这之前需要先安装 JDK JRE 并且添加环境变量如图: (路径自己按照各自环境配置)这两个工具 请自行下载 配置JAR 配置JDK:例如我的路径:C:\Program Files\Java\jdk1.7.0_17\bin 加入 环境变量 系统变量
2.安装FB6 eclipse androidSDK 按照正常教程配置android开发环境 推荐下载androidSDK :2.2,2.3,4.0 我的项目全部统一使用android SDK2.3.3 这些编辑器 SDK IDE等全部自行下载。。>.<
3.一般平台SDK都会需要在assets加APK或者资源,这就需要命令行 编译 打包。所以建议在环境变量中加入 amxmlc例如我的是在其中加入:D:\FB\Adobe Flash Builder 4.6\sdks\AIR3.5\bin 命名为amxmlc 这样就可以在CMD中直接使用命令行编译了,若想命令行打包 则也一样的 直接加入 ADT所在路径即可。(这并不是必须的 仅仅为了更好的使用命令行)
|