Adobe Air Mobile项目中,有两种情况下,必须借助ANE(Adobe Native Extension)的帮助,才能实现想要的功能。

1  需要访问移动设备的某些状态值,比如,网络连接情况
2  一些第三方扩展库提供的功能只有ios版本,各种大牛编写了对应的第三方ANE后,可以通过这些ANE实现想要的功能,例如:GameCenter。
下面,以检查网络连接为例,简述一下如何在项目中使用ANE包。
1 请在 [这里](http://www.adobe.com/devnet/air/native-extensions-for-air.html) 下载,NetworkInfo的ANE包。
2 打开项目的属性面板,切换到 ActionScript构建路径 --> 本机扩展选项卡,如图:
[![](http://tiger-a-s-s.tobybai.cn/2012.10.29.25.png)](http://tiger-a-s-s.tobybai.cn/2012.10.29.25.png)
项目属性中的本地扩展选项
3  点击添加ANE,定位到刚刚下载的ANE包。
[![](http://tiger-a-s-s.tobybai.cn/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202012-12-20%252520%2525E4%2525B8%25258A%2525E5%25258D%25258810.33.26.png)](http://tiger-a-s-s.tobybai.cn/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202012-12-20%252520%2525E4%2525B8%25258A%2525E5%25258D%25258810.33.26.png)
选定ane包
4  在上面一步操作之后,你已经可以在项目中使用ANE的扩展功能了,和使用普通的swc包一样,引入类,并进行开发。此时如果你在本机进行调试,会弹出这样的对话框:
[![](http://tiger-a-s-s.tobybai.cn/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202012-12-20%252520%2525E4%2525B8%25258A%2525E5%25258D%25258810.40.30.png)](http://tiger-a-s-s.tobybai.cn/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202012-12-20%252520%2525E4%2525B8%25258A%2525E5%25258D%25258810.40.30.png)
如果点击确定的话,未必会在项目运行中出现什么错误,但是ANE的相应机能就完全没有发挥出来了。可以通过注释掉对应的引用代码,实现开发调试,在发布之前,再将对应的代码还原回去即可。这里确实有些麻烦,希望下一个版本的Flash Builder中,将这个问题弄得更智能一些。
5  发布成ipa时,如果要让ane奏效,需要在打包选项中,勾选对应的ANE包。这个选项的框隐藏在最右方,需要滚动条才能看见它,我在一开始的时候找了半天。
[![](http://tiger-a-s-s.tobybai.cn/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202012-12-20%252520%2525E4%2525B8%25258A%2525E5%25258D%25258810.48.26.png)](http://tiger-a-s-s.tobybai.cn/%2525E5%2525B1%25258F%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A7%2525202012-12-20%252520%2525E4%2525B8%25258A%2525E5%25258D%25258810.48.26.png)
以上,就完成了引入和打包一个ANE包的过程,使用ANE的代码部分,在连接中有详细讲解,不再赘述。

搬过来一个作者写的Crossdomain的文章,写的比较详细,原帖地址在此,作者已无从得知,致谢在先。

简介

flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及允许从什么地方跨域读写数据。
位于www.a.com域中的SWF文件要访问www.b.com的文件时,SWF首先会检查www.b.com服务器目录下是否有crossdomain.xml文件,如果没有,则访问不成功;若crossdomain.xml文件存在,且里边设置了允许www.a.com域访问,那么通信正常。所以要使Flash可以跨域传输数据,其关键就是crossdomain.xml。
本文将着重介绍crossdomain.xml文件的配置方法及不同配置对flash跨域的影响。
Read more »
0%