工具:

1.flash builder

2.adt打包工具

3.数字证书

一. 创建 jar 文件

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

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

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

各java代码如下:

Extension.java类:

1 package com.three;2 import com.adobe.fre.*;3

4 //Extension这个类是AS与JAVA交互的最基础的入口

5 public class Extension implementsFREExtension {6

7

8 @Override9 publicFREContext createContext(String arg0) {10 //new一个新的threeExtensionContext出来;

11 return newthreeExtensionContext();12 }13

14 @Override15 public voiddispose() {16 //这个销毁资源的方法,暂时没有什么用,空着

17

18 }19

20 @Override21 public voidinitialize() {22 //初始化方法,暂时用不着,空着先

23

24 }25

26 }

test.java类:

1 package com.three;2

3 importcom.adobe.fre.FREContext;4 importcom.adobe.fre.FREFunction;5 importcom.adobe.fre.FREInvalidObjectException;6 importcom.adobe.fre.FREObject;7 importcom.adobe.fre.FRETypeMismatchException;8 importcom.adobe.fre.FREWrongThreadException;9

10 public class test implementsFREFunction {11

12 @Override //这个类作用就是 AS调用CALL方法给java传一个FREObject的参数组,然后,java给as返回一个FREObject

13 publicFREObject call(FREContext arg0,FREObject[] arg1)14 {15 int a=0;16 FREObject b = null;17 try{18 a=arg1[0].getAsInt();19

20 }catch(IllegalStateException e)21 {22 e.printStackTrace();23

24 }catch(FRETypeMismatchException e)25 {26 e.printStackTrace();27 }catch(FREInvalidObjectException e)28 {29 e.printStackTrace();30 }catch(FREWrongThreadException e)31 {32

33 e.printStackTrace();34 }35

36 try{37 b=FREObject.newObject(a*100);//调用FREObject的静态方法把a这个整型变量写到b里去;38

39 }catch(FREWrongThreadException e)40 {41 e.printStackTrace();42 }43

44 returnb;45

46 }47

48 }

threeExtensionContext.java:

package com.three;import java.util.*;importcom.adobe.fre.FREContext;importcom.adobe.fre.FREFunction;public class threeExtensionContext extendsFREContext{publicthreeExtensionContext(){

}

@Overridepublic voiddispose(){

}

@Override

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

public MapgetFunctions(){

Map functionMap = new HashMap();

functionMap.put("test", newtest());returnfunctionMap;

}

}

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

二.创建SWC文件

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

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

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

再添加ActionScript类,代码如下:

1 package com.three2 {3 importflash.external.ExtensionContext;4

5 public classcallJava6 {7 varcontext:ExtensionContext;8 public functioncallJava()9 {10 context=ExtensionContext.createExtensionContext("com.three.Extension","");11 }12

13 public functioncallJavaTest(value:int):int{14

15 vara:int;16 a=context.call("test",value) as int;17 returna;18

19 }20 }21 }

项目结构如图:

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

三.建立extension.xml文件

1

2 com.three.Extension

3 1

4

5

6

7 TestAirJava01.jar

8 com.three.Extension

9 com.three.Extension

10

11

12

13

四. 签证文件(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 java_Flash Air 打包安卓 ane相关推荐

  1. )AIR程序打包/绿化,脱离air runtimes(AIR运行环境)的方法

    首先,说明一下AIR程序的运行机制: .air文件安装后会在安装目录生成一个.exe文件,此文件在启动时首先调用AIR运行时库Adobe AIR.dll.然后开始执行主程序.swf文件. 事实上我们无 ...

  2. 如何将FLex AIR运行环境与AIR程序一起打包

    用Flex开发完成AIR,并生成AIR安装程序后,发布给终端用户后,如果用户的机器上没有安装AIR运行环境,则无法安装AIR程序.让用户再去单独安装AIR运行环境,将会使应用程序的友好性大大折扣.下面 ...

  3. UNITY 打包安卓APK

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

  4. flutter打包安卓问题

    这里主要说明我第一次用flutter打包安卓apk遇到的问题,如果这些经验能帮到你,请点个赞,谢谢 1.SDK location onment variable-not found. Define l ...

  5. unity打包安卓显示手机顶部状态栏

    打包安卓后打开app发现顶部的状态栏没有,没有时间电量等等 解决办法: 1.创建脚本:HideOrShowPhoneStatus using System; using System.Collecti ...

  6. unity打包安卓(anroid)APK及安卓环境设置

    打包APK:Unity部分下载安装及设置.电脑JDK下载安装及环境配置.安卓SDK安装及配置. 一.Unity部分下载安装及设置: 1.下载安装unity,各版本下载的官方网址:Unity官方下载_U ...

  7. ue4 Niagara粒子打包安卓后不显示

    提问:ue4 Niagara粒子打包安卓后不显示今天用ue4中的Niagara粒子做了一个烟花的效果,但是打包到安卓手机后只能看到升上天空的粒子,看不到爆炸效果. 解答: 在打包 UE4 Niagar ...

  8. 虚幻4打包安卓的问题

    首先必须使用虚幻4指定的版本的SDK和NDK,被这个问题困扰了很久,最后发现是版本问题. ======================================================= ...

  9. 这两天用unity做安卓蓝牙demo遇到打包安卓包时报错 The option ‘android.enableR8’ is deprecated and should not be used anym

    这两天用unity做安卓蓝牙demo遇到打包安卓包时报错 The option 'android.enableR8' is deprecated and should not be used anym ...

  10. Cordova + vue 打包安卓(Android) apk

    Cordova + vue 打包安卓(Android) apk 本系统通过Vue集成Cesium制作的高精度三维地图引擎,在此基础上进行Android封装,封装与2022-9-26日,亲测可用. 第一 ...

最新文章

  1. 用javascript制作随机汉字打字练习小程序
  2. 矿泉水功能突破口-丰收节交易会·李喜贵:遵义谋定水产业
  3. 浅谈 System.Data.DataRowCollection 类
  4. matlab 价格统计,matlab中的金融数据统计
  5. 腾讯开源大规模X光预训练模型及代码 |MICCAI 2020
  6. 正则 指定开头结尾_Python核心知识系列:正则表达式与JSON
  7. 4月还完债务,“真还传”大结局?罗永浩回应:纯属造谣...
  8. android webview 像素,Android:在WebView中加载的图像中的像素质量降低
  9. Ubuntu关闭防火墙
  10. 问答| 为何会采用倒车入库(侧方位停车)方式?
  11. 使用C语言和Java分别实现冒泡排序和选择排序
  12. [译]C#7 Pattern Matching
  13. PHP随机生成指定时间段的指定个数时间
  14. Tuple和 ValueTuple
  15. 单片机 架构 程序 经验总结_单片机学习心得体会_经验总结
  16. 歌谷服务套件gms_谷歌gms框架安装器下载-安卓9谷歌服务框架app安装-游戏大玩家...
  17. 如何发现并分析APP个人信息收集是否违规?
  18. 【电场】基于模拟电荷法计算输电线路铁塔周围电场分布附matlab代码
  19. Ubuntu下非常给力的下载工具
  20. 怎樣制作线段动画_线条动画 怎么制作随意运动的线条动画?线条动态视频如何制作?线条动画制作教程...

热门文章

  1. Halcon 毛刺检测
  2. SQL Server的Descending Indexes降序索引
  3. 《长尾理论》解释了抖音为啥火了
  4. discuz 获取会员头像
  5. Apache Kafka教程A系列:与Storm整合
  6. 添加了排比句的狗屁不通生成器
  7. HTML|颜色的设置方法
  8. 机器阅读理解 | (1) 智能问答概述
  9. 适合后端开发人员的html笔记
  10. 自强不息,厚德载物——2021年年度总结