flash air java_Flash Air 打包安卓 ane
工具:
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相关推荐
- )AIR程序打包/绿化,脱离air runtimes(AIR运行环境)的方法
首先,说明一下AIR程序的运行机制: .air文件安装后会在安装目录生成一个.exe文件,此文件在启动时首先调用AIR运行时库Adobe AIR.dll.然后开始执行主程序.swf文件. 事实上我们无 ...
- 如何将FLex AIR运行环境与AIR程序一起打包
用Flex开发完成AIR,并生成AIR安装程序后,发布给终端用户后,如果用户的机器上没有安装AIR运行环境,则无法安装AIR程序.让用户再去单独安装AIR运行环境,将会使应用程序的友好性大大折扣.下面 ...
- UNITY 打包安卓APK
UNITY 打包安卓APK 1,安装JDK.这个直接下就行了. 2,安装android sdk相关.这个比较蛋疼,官网是被墙的.有些网站的包还是需要访问墙外下载的.关键是找对那个能用的包(对我来说就是 ...
- flutter打包安卓问题
这里主要说明我第一次用flutter打包安卓apk遇到的问题,如果这些经验能帮到你,请点个赞,谢谢 1.SDK location onment variable-not found. Define l ...
- unity打包安卓显示手机顶部状态栏
打包安卓后打开app发现顶部的状态栏没有,没有时间电量等等 解决办法: 1.创建脚本:HideOrShowPhoneStatus using System; using System.Collecti ...
- unity打包安卓(anroid)APK及安卓环境设置
打包APK:Unity部分下载安装及设置.电脑JDK下载安装及环境配置.安卓SDK安装及配置. 一.Unity部分下载安装及设置: 1.下载安装unity,各版本下载的官方网址:Unity官方下载_U ...
- ue4 Niagara粒子打包安卓后不显示
提问:ue4 Niagara粒子打包安卓后不显示今天用ue4中的Niagara粒子做了一个烟花的效果,但是打包到安卓手机后只能看到升上天空的粒子,看不到爆炸效果. 解答: 在打包 UE4 Niagar ...
- 虚幻4打包安卓的问题
首先必须使用虚幻4指定的版本的SDK和NDK,被这个问题困扰了很久,最后发现是版本问题. ======================================================= ...
- 这两天用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 ...
- Cordova + vue 打包安卓(Android) apk
Cordova + vue 打包安卓(Android) apk 本系统通过Vue集成Cesium制作的高精度三维地图引擎,在此基础上进行Android封装,封装与2022-9-26日,亲测可用. 第一 ...
最新文章
- 用javascript制作随机汉字打字练习小程序
- 矿泉水功能突破口-丰收节交易会·李喜贵:遵义谋定水产业
- 浅谈 System.Data.DataRowCollection 类
- matlab 价格统计,matlab中的金融数据统计
- 腾讯开源大规模X光预训练模型及代码 |MICCAI 2020
- 正则 指定开头结尾_Python核心知识系列:正则表达式与JSON
- 4月还完债务,“真还传”大结局?罗永浩回应:纯属造谣...
- android webview 像素,Android:在WebView中加载的图像中的像素质量降低
- Ubuntu关闭防火墙
- 问答| 为何会采用倒车入库(侧方位停车)方式?
- 使用C语言和Java分别实现冒泡排序和选择排序
- [译]C#7 Pattern Matching
- PHP随机生成指定时间段的指定个数时间
- Tuple和 ValueTuple
- 单片机 架构 程序 经验总结_单片机学习心得体会_经验总结
- 歌谷服务套件gms_谷歌gms框架安装器下载-安卓9谷歌服务框架app安装-游戏大玩家...
- 如何发现并分析APP个人信息收集是否违规?
- 【电场】基于模拟电荷法计算输电线路铁塔周围电场分布附matlab代码
- Ubuntu下非常给力的下载工具
- 怎樣制作线段动画_线条动画 怎么制作随意运动的线条动画?线条动态视频如何制作?线条动画制作教程...