编写windows版ANE
1.编写WinANE.dll:
#include <windows.h>
#include <stdlib.h>
#include <FlashRuntimeExtensions.h>
#pragma comment( lib, "FlashRuntimeExtensions.lib" )
FREObject test(FREContext ctx, void*funcData, uint32_t argc, FREObject argv[])
{
const uint8_t* msg = (const uint8_t*)"hello world";
FREObject retObj;
FRENewObjectFromUTF8(strlen((const char*)msg)+1, msg, &retObj);
return retObj;
}
void ContextFinalizer(FREContext ctx)
{
return;
}
void ContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx,
uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet)
{
*numFunctionsToTest= 1;
FRENamedFunction* func = (FRENamedFunction*)malloc(sizeof(FRENamedFunction)*1);
func[0].name= (const uint8_t*)"test";
func[0].functionData= NULL;
func[0].function= &test;
*functionsToSet= func;
}
extern "C" __declspec(dllexport) void ExtFinalizer(void* extData)
{
return;
}
extern "C" __declspec(dllexport) void ExtInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet,
FREContextFinalizer*ctxFinalizerToSet)
{
*extDataToSet= NULL;
*ctxInitializerToSet= ContextInitializer;
*ctxFinalizerToSet= ContextFinalizer;
}
2.编写 swc库:
package
{
import flash.events.EventDispatcher;
import flash.external.ExtensionContext;
public class TestWinANE
{
private static var context:ExtensionContext;
public function TestWinANE()
{
try
{
context= ExtensionContext.createExtensionContext("WinANE", "");
}
catch(e:Error)
{
}
}
public function print():String
{
var str:String = context.call("test") as String;
return str;
}
}
}
使用如下命令编译:
acompc -compiler.debug=false -library-path+=D:/FlexSDK4.9.1 -external-library-path+=D:/FlexSDK4.9.1/frameworks/libs/framework.swc
-swf-version=20 -compiler.source-path ./ -include-sources ./ -output WinANE.swc
3.编写extension.xml:
<extension xmlns="http://ns.adobe.com/air/extension/3.7">
<id>WinANE</id>
<versionNumber>1.0.0</versionNumber>
<platforms>
<platform name="Windows-x86">
<applicationDeployment>
<nativeLibrary>WinANE.dll</nativeLibrary>
<initializer>ExtInitializer</initializer>
<finalizer>ExtFinalizer</finalizer>
</applicationDeployment>
</platform>
</platforms>
</extension>
4.生成 WinANE.ane:
解压WinANE.swc,将library.swf与WinANE.swc和WinANE.dll,extension.xml放同一目录,执行如下命令:
adt.bat -package -target ane WinANE.ane extension.xml -swc WinANE.swc -platform Windows-x86 library.swf WinANE.dll
5.修改使用ANE的应用程序的XML文件,添加如下段:
<supportedProfiles>extendedDesktop</supportedProfiles>
<extensions>
<extensionID>WinANE</extensionID>
</extensions>
转载于:https://www.cnblogs.com/LinuxHunter/p/3417586.html
编写windows版ANE相关推荐
- python开发影视exe程序_搜片大师,一个不需要编程就能拥有百万影视站点的搜片神器,Python编写,Windows版界面...
这个世界太疯狂了,来北京好几个月了,都还没找到工作.俗话说,一天不编程,连hello world都写不出来.在这个"焦虑"的最后一个月,差不多每天吃馒头加山泉水,差点流落街头.可以 ...
- 用python开发一个影视网站_搜片大师,一个不需要编程就能拥有百万影视站点的搜片神器,Python编写,Windows版界面 - 卖知了的......
这个世界太疯狂了,来北京好几个月了,都还没找到工作.俗话说,一天不编程,连hello world都写不出来.在这个"焦虑"的最后一个月,差不多每天吃馒头加山泉水,差点流落街头.可以 ...
- 用 VC++ 2008 编写 Windows Service(系统服务)
用 VC++ 2008 编写 Windows Service(系统服务) 2008-03-30 08:08 现在许多 Windows Service 应用都可以用 c# 很好的完成,不过毕竟是托管代码 ...
- 安装Windows版C / GCC编译器
The first step in learning any programming language is to have the required software installed in th ...
- flv + livego + obs 实现简易直播平台(windows版+Linux版)
直播运行效果: Windows版 1. 前端编写(网页播放视频功能) flvjs是b站开源出来的前端流媒体播放器 下载链接:https://github.com/saysmy/flvjs-pr354 ...
- 公布Windows版Flutter
公布Windows版Flutter 构建高质量的Windows应用程序,并在移动和web上运行 自从我们推出Flutter以来,我们一直专注于提供一个跨平台的解决方案,以获得漂亮的.定制的应用程序,这 ...
- 我的世界手机有PHP的开服器下载,【BDS】MC基岩版官方开服器Windows版插件开发包...
您尚未登录,立即登录享受更好的浏览体验! 您需要 登录 才可以下载或查看,没有帐号?注册(register) x MC基岩版官方开服器Windows版插件开发教程 2019年5月22日 作者:Play ...
- 金庸群侠传 Windows版:用 Object Pascal 和 SDL 实现的 DOS 游戏《金庸群侠传》的重制版
金庸群侠传 Windows版:用 Object Pascal 和 SDL 实现的 DOS 游戏<金庸群侠传>的重制版. 原 DOS 下面的经典游戏<金庸群侠传>pascal 复 ...
- FasterRunner安装教程(Windows版)
FasterRunner安装教程(Windows版) 原创 幼儿园二园长 发布于2019-05-10 17:02:59 阅读数 499 收藏 更新于2019-05-10 17:04:23 分类专栏: ...
- 网络管理必备工具软件精解(Windows版)---转载及个人见解
网络管理必备工具软件精解(Windows版) 出版社: 人民邮电出版社 作者: 刘晓辉 王淑江 出版日期:2006年3月 国标编号:ISBN 7-115-14546 条形码: 字数:899千字 印张: ...
最新文章
- AI一分钟|美国第一家!Waymo商业自动驾驶打车服务正式获批
- python argparse库_Python的argparse库使用详解
- php查找函数所在文件
- Java Web系列:Spring MVC基础
- 成功解决解决VM软件安装Linux的Ubuntu过程,打开时 Operating System not found
- 深度学习项目-神经元结构可视化
- Detectron2学习笔记
- js 中对于 css 的变量操作(React也可)
- android int 首位值_Android应用视图的管理者Window
- (三)MLOps管道中的模型自动调整
- “找不到网络路径”的检测方法及解决方案
- 笨方法使用Kubernetes实现持续交付
- java.lang.IllegalStateException报警
- 一键解决WinRAR的有关问题
- 利用css制作3D按钮
- 浅谈选择示波器时的“5倍法则”
- 2017.03.24回顾 归一化 标准化 R2 date_format 共线性 系数检验 决策树
- 关于应用某些程序被删除导致无法使用,且无法找到uninstall软件的后续方案
- 电子签到系统有哪些不同体验?
- 「励志文章」清华学霸演讲:你可曾为学习拼尽全力?
热门文章
- God.org单域环境攻略(二)
- Verilog rst
- android 直播推流sdk,Android——直播推流SDK
- 开发谷歌浏览器翻译插件
- 速查!你名下绑定了几个微信
- iOS 微信支付开发(最新版)
- PHP生成DataMatrix二维条码
- Python API+Postman+jmeter
- 原生js 实现大鱼吃小鱼效果
- 通信网络与IP网络底层传输技术梳理(SONET/SDH/OTN/ATM/Ethernet/MPLS/PTN...)