http://blog.csdn.net/zz962/article/details/6873194
参考
1、官网教程:http://help.adobe.com/en_US/air/extensions/index.html
2、官网教材:http://www.adobe.com/devnet/air/articles/developing-native-extensions-air.html
3、网易博客:http://sswilliam.blog.163.com/blog/#m=0&t=3&c=nativeextension
开发目标
1、在Android模拟器上运行的AIR程序
2、可以调用Native的方法
3、可以接受Native发的事件
开发准备
1、Flash Builder4.5
2、AIRSDK3
FB支持Android开发
1、安装ADT
2、设置Android的SDK目录
准备文件夹
1、总目录:HelloANE
2、存放Native的目录:Native
3、存放Flex库目录:HelloANELibrary
4、存放App目录:HelloANESample
创建Native
1、在FB中创建Android项目:
1、新建项目时选择Android project
2、设路径为前面的Native
3、Build target选择3.2
4、Package名为:com.mydomain.example.android.helloANE
2、允许该项目使用AS提供的Extension功能
1、打开该工程属性对话框
2、在Java Build Path中,右部选择Libraries,点击“Add External JARs”,选择FB的SDK目录中lib/android里的FlashRuntimeExtensions.jar。
3、创建Extension类
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
import com.mydomain.nativeExtension.Work2.Work;
import mx.events.FlexEvent;
private var Ext:Work = null;
protected function button1_clickHander(event:MouseEvent):void
{
if(Ext == null)
{
Ext = new Work();
}
this.output.text = Ext.Action();
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Button x="370" y ="10" label="Button" click ="button1_clickHander(event)"/>
<s:Label x="370" y ="10" width="100" id="output" text="label" />
</s:Application>
打包APK
1、把证书拷贝至App的输出目录
2、提供批处理如下
set adt_dir="D:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\AIRSDK3\bin"
set sign=-storetype pkcs12 -keystore wvw.p12 -storepass geheim
%adt_dir%\adt -package -target apk-emulator %sign% myApp.apk HelloANESample-app.xml HelloANESample.swf -extdir D:\Code\HelloANE\HelloANELibrary\bin\Android-ARM
3、成功运行会在当前目录下生成myApp.apk
在模拟器上安装运行
1、启动3.2的模拟器
2、安装apk
3、运行,第一次按按钮,界面上文字会显示Native,第二次之后则显示“isCallBack is true”。