air 4.0+,Ane打包注意事项【适用Android】
【适合阅读】适用于air sdk 4.0之前,会打包Ane的同学们。如果您之前,没有经验,可以直接留言问题,我会依依解答。
【本文目标】:air 4.0+ ,能很好的有效支持 R*文件机制。简言之,可以不用getResourceID()的方式引用资源,Android程序中,可以直接用 R.x.x引用资源。
【安装】
air sdk : http://helpx.adobe.com/air/kb/archived-air-sdk-version.html (下载4.0+版本,包含4.0)
如果之前你得版本低于4.0,更新方式很简单。直接解压,覆盖更新 D:\DevTools\Adobe Flash Builder 4.6\sdks\4.6.0(这是我的安装路径)。注意:是覆盖更新,因为这个路径下,同时含有flex sdk。
【重点解析】:
对于支持R*文件的机制,官网介绍,非常简洁。 链接:http://help.adobe.com/en_US/air/extensions/WSf268776665d7970d-2e74ffb4130044f3619-7ff8.html
这里有一份算比较完善的教程:http://jmsliu.com/2143/add-admob-ads-in-flash-based-android-apps.html#androidjar
上面的教程,讲的非常详细,也有步骤截图,非常清晰。
下面,我只讲几个教程中没有的细节问题:
一、打包工具的目录结构
因为我的系统是 win7(64位),所以我的打包工具如下图:
这里注意2个地方:
1. adt.jar是Flash builder 4.6中的一个打包工具,路径:D:\DevTools\Adobe Flash Builder 4.6\sdks\4.6.0\lib ,确保 air sdk 4.0+
2. platform-android.xml ,是相比较之前新添加的。这个有2个作用,合并jar包 和 生成库工程相对应的R文件。
二、Android-ARM
我本地的项目:Android项目,引用了Facebook 的SDK作为 库工程。
以上目录,分为几部分:
1,放资源文件 2,Java端对应的AS代码 3,Android的项目 4,Facebook SDK的jar包 5,其余的jar文件,就是Android工程所有用到的jar包。
三、 platform-android.xml
<platform xmlns="http://ns.adobe.com/air/extension/15.0"> <packagedDependencies> //放置除 java-as.jar外的所有依赖jar包 <packagedDependency>android-support-v4.jar</packagedDependency> <packagedDependency>java-lib.jar</packagedDependency> <packagedDependency>alipay.jar</packagedDependency> <packagedDependency>gson-2.1.jar</packagedDependency> <packagedDependency>rekoosdk_0.4_8080.jar</packagedDependency> <packagedDependency>sun.misc.BASE64Decoder.jar</packagedDependency> <packagedDependency>java-facebooksdk.jar</packagedDependency> <packagedDependency>bolts-android-1.1.2.jar</packagedDependency> </packagedDependencies> <packagedResources> //库工程对应的包名 和 资源文件名 <packagedResource> //我的Android项目工程
<packageName>com.rksgame</packageName> <folderName>lib-res</folderName> </packagedResource> <packagedResource> //facebook sdk 库工程 <packageName>com.facebook.android</packageName> <folderName>fb-res</folderName> </packagedResource> </packagedResources> </platform>
注意版本: xmlns="http://ns.adobe.com/air/extension/15.0" 和 你的adt.jar 版本一致。我版本是 15.0
四、容易忽视的问题
自己的Android项目和引用的第三方的库SDK,都要设置为 Is Library 。这是很多教程中,都忽略的问题。这个大坑,困扰我了一天,实在是无语。。。
相比air 4.0之前的打包方法,貌似就碰到了这几点改进的地方。实测,成功了。。。
如果您碰到了其余别的问题,可以给我留言或者发邮件到:613254015@qq.com 。
本文属于个人原创作品,未经许可,不可转载。否则,追究法律责任。