工具:

1.flash builder

2.adt打包工具

3.数字证书

一. 创建 jar 文件

1. 打开flash builder, 新建一个java 项目。

2.点击项目属性,选择Java构建路径,选择库,然后添加外部JAR,选择路径,添加FlashRuntimeExtension.jar

3.在项目src文件下建一个包,包名自定,然后在这个包下建3个java类。

各java代码如下:

Extension.java类:

 package com.three;
import com.adobe.fre.*; //Extension这个类是AS与JAVA交互的最基础的入口
public class Extension implements FREExtension { @Override
public FREContext createContext(String arg0) {
// new一个新的threeExtensionContext出来;
return new threeExtensionContext();
} @Override
public void dispose() {
// 这个销毁资源的方法,暂时没有什么用,空着 } @Override
public void initialize() {
// 初始化方法,暂时用不着,空着先 } }

test.java类:

 package com.three;

 import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction;
import com.adobe.fre.FREInvalidObjectException;
import com.adobe.fre.FREObject;
import com.adobe.fre.FRETypeMismatchException;
import com.adobe.fre.FREWrongThreadException; public class test implements FREFunction { @Override //这个类作用就是 AS调用CALL方法给java传一个FREObject的参数组,然后,java给as返回一个FREObject
     public FREObject call(FREContext arg0,FREObject[] arg1)
{
int a=0;
FREObject b = null;
try{
a=arg1[0].getAsInt(); }catch(IllegalStateException e)
{
e.printStackTrace(); }catch(FRETypeMismatchException e)
{
e.printStackTrace();
}catch(FREInvalidObjectException e)
{
e.printStackTrace();
}catch(FREWrongThreadException e)
{ e.printStackTrace();
} try{
b=FREObject.newObject(a*100);//调用FREObject的静态方法把a这个整型变量写到b里去; }catch(FREWrongThreadException e)
{
e.printStackTrace();
} return b; } }

threeExtensionContext.java:

package com.three;
import java.util.*; import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction; public class threeExtensionContext extends FREContext{ public threeExtensionContext(){ } @Override
public void dispose(){ } @Override

// 下面这个比较关键,它的作用是定义as与JAVA具体方法通信的重要接口

public Map<String,FREFunction> getFunctions(){

        Map<String,FREFunction> functionMap = new HashMap<String,FREFunction>();

        functionMap.put("test", new test());
return functionMap;
}
}

如果没有报错的话,右键->导出java-jar文件。

二.创建SWC文件

1.用flash builder新建一个flex库项目(flex library)。

注意:包括Adobe AIR库这个选项一定要选。

另外:附加的编译器参数要添加 -swf-version-13

再添加ActionScript类,代码如下:

 package com.three
{
import flash.external.ExtensionContext; public class callJava
{
var context:ExtensionContext;
public function callJava()
{
context=ExtensionContext.createExtensionContext("com.three.Extension","");
} public function callJavaTest(value:int):int{ var a:int;
a=context.call("test",value) as int;
return a; }
}
}

项目结构如图:

右键点击myExtension.swc,把它复制出来,和刚才那个jar文件放在一起。然后复制一个myExtension.swc的副本,并把它的后缀改为.zip,然后把它解压到当前目录中。

三.建立extension.xml文件

 <extension xmlns="http://ns.adobe.com/air/extension/2.5">
<id>com.three.Extension</id>
<versionNumber>1</versionNumber>
<platforms>
<platform name="Android-ARM">
<applicationDeployment>
<nativeLibrary>TestAirJava01.jar</nativeLibrary>
<initializer>com.three.Extension</initializer>
<finalizer>com.three.Extension</finalizer>
</applicationDeployment>
</platform>
</platforms>
</extension>

四. 签证文件(p12)

可以用flash builder建一个。

五.打包

上述文件放到同一个文件夹中,命令行中输入 cd 文件夹路径

然后,

java -jar adt.jar -package -tsa none -storetype pkcs12 -keystore grq186key.p12 -storepass 125521 -target ane m.ane extension.xml -swc myExtensionAs.swc -platform Android-ARM library.swf TestAirJava01.jar

即可生成m.ane 文件。

Flash Air 打包安卓 ane的更多相关文章

  1. 打包制作 ANE

    一.打包ANE 1.ios 准备文件: anePackager.bat aneswc.swc extension.xml flashAne.ane ioslib.a library.swf platf ...

  2. UNITY 打包安卓APK

    1,安装JDK.这个直接下就行了. 2,安装android sdk相关.这个比较蛋疼,官网是被墙的.有些网站的包还是需要访问墙外下载的.关键是找对那个能用的包(对我来说就是不FQ). http://p ...

  3. 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录

     前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...

  4. ionic 打包安卓包

    一.配置环境: 先按照之前的文章,配置好环境需要: 二.安装 1. 这里前提是 需要安装  node (地址: http://nodejs.cn/download/) 命令: node -v   // ...

  5. vs2017打包安卓项目简述

    1.使用vs2017创建安卓项目 2.选择Release模式编译项目 3.项目存档 4.签名分发 存档完成后,点击分发按钮进入如下界面 按要求输入签名信息 选择apk保存位置 5.分享apk文件 参考 ...

  6. unity打包安卓应用及生成签名

    首先,先进行安卓应用的打包.File->build Settings 弹出界面后选择Android,注意,这里如果黄色区域内容与我这个不一致,说明电脑上没有安装studio(安卓开发环境),具体 ...

  7. Jenkins打包安卓时提示没同意constraintLayout的license的解决方法

    使用Jenkins打包安卓项目时,报错并失败,错误信息: You have not accepted the license agreements of the following SDK compo ...

  8. jenkins打包安卓项目

    jenkins打包安卓项目和其它项目差不了太多. 1.构建选择 gradle(如果不用gradle自己写脚本编译也可) 2.jenkins用户需要安装JDK.SDK,jenkins会自动下载gradl ...

  9. IONIC 打包安卓apk详细过程

    参照以下链接: https://blog.csdn.net/qq_20264891/article/details/79319408 当 cordova 项目安装的 android 平台版本 与 系统 ...

随机推荐

  1. apidoc,一个相当不错的文档生成器

    http://apidocjs.com/ 例子:myapp目录下的MyCode.java /** * * @api {get} /company/list 获取公司信息 * @apiName 获取公司 ...

  2. 黄聪:Discuz!的SEO优化策略二:如何去掉页脚多余的信息

    论坛搭建好,首先是把多余的东西都砍掉. 页脚的信息在我看来,都是很多余的信息,如下图: 要怎么消灭掉它们呢? 1.进入 全局 -- 站点信息 2.站点名称改为你的论坛名称,它会出现在内页的标题最末位. ...

  3. 4. 对list进行sort

    一. sort命令 sort命令可以对list排序 sort命令把字段转先换为double类型在进行比较 sort排序list 127.0.0.1:6379> lrange list2 0 -1 ...

  4. 输出一个对象的所有属性的值,可以不用反射机制,用JSON处理更方便

    String r = ""; ObjectMapper mapper = new ObjectMapper(); r = mapper.writeValueAsString(cre ...

  5. Hadoop MapReduce编程学习

    一直在搞spark,也没时间弄hadoop,不过Hadoop基本的编程我觉得我还是要会吧,看到一篇不错的文章,不过应该应用于hadoop2.0以前,因为代码中有  conf.set("map ...

  6. Hbase伪分布式

    其实我就是要让数据存储在hdfs上而已........ 多配置点东西就好了,在hbase-site.xml中加入: <configuration> <property> < ...

  7. OAF_架构MVC系列4 - Control的概述(概念)

    2014-06-18 Created By BaoXinjian

  8. Studio--代理设置(SDK下载代理设置)

    为啥Android Studio有代理一说呢.比如我们要下载某个插件,但是这个插件又被tc墙了,所以这个时候需要FQ才能安装.FQ其中的一种方式就是使用VPN,配置如下图: 输入VPN的IP和PORT ...

  9. IntelliJ IDEA 注册码

    IntelliJ IDEA 注册码 *.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀 请搭建自己的IntelliJ IDEA授权服务器,教程在http ...

  10. Wix安装包权限问题

    Wix在安装完成之后,如果遇到非管理员用户(域用户或Win7+系统,UAC权限问题等),修改配置文件(setting.ini)文件时,会遇到文件权限为只读,无法修改问题: 解决方案有两种: 首先添加U ...