如何制作ANE+Android以及ANE开发中可能遇到的坑

因为公司的项目是flash air的,所以会需要用到安卓的本地拓展,在网上找了很多关于如何写ane的文章,但是还是遇到了不少的坑。不过所幸最终还是自己解决了。准备工作 1.Flash Builder 4.6 2.Android Studio 3.JDK/JRE创建flash本地拓展库 直接上图 因为之前我已经创建过了,所以这里会有提示项目同名,不要紧,接着往下走,在库项...
摘要由CSDN通过智能技术生成

因为公司的项目是flash air的,所以会需要用到安卓的本地拓展,在网上找了很多关于如何写ane的文章,但是还是遇到了不少的坑。不过所幸最终还是自己解决了。

本文介绍的是:
ane+Android的,ane+ios的暂时没有涉及到,因为苹果的环境设置比安卓的要复杂一些,我这篇博客只是将ane+android做了一个简单的toast显示,如果有不懂的可以发邮件给我,邮箱地址在本文底部。

准备工作
1.Flash Builder 4.6
2.Android Studio
3.JDK/JRE

创建flash本地拓展库
直接上图
这里写图片描述

这里写图片描述

因为之前我已经创建过了,所以这里会有提示项目同名,不要紧,接着往下走,在库项目里创建一个AndroidToast.as文件,因为我这个测试的项目是想通过ane调用到安卓的Toast做测试,所以这样命名,你也可以选择你自己想要的命名。
1.
public class AndroidToast extends EventDispatcher

继承自EventDispatcher是因为需要在安卓底层完成某些事情之后,方便通知Air层的通知信息,看到网上大多数人都这样写,我能想到的目的好像就只有这一个。
2.
extCtx = ExtensionContext.createExtensionContext(“com.roub.Toast”,”“);
extCtx.addEventListener(StatusEvent.STATUS, onStatus); // 添加回调事件返回监听

通过ExtensionContext来访问本地代码 ,等于说这个东西就是承接上下文的中转,在安卓底层可以通过它的call()方法来调用到安卓的代码以及逻辑。

EXTENSION_ID:是我们创建的扩展的唯一标识,这个东西很重要,需要写在你的配置文件.xml里面,就是上面的“com.roub.Toast”

这里如果你没有找到ExtensionContext类的话,应该是你本地的SDK不是AIR的SDK,这个现在网上应该也有下载的,如果你实在是不知道怎么下载,文章底部我会留下联系方式,你可以给我发邮件,写完之后,代码大致如下。

package com.roub.Toast
{
   
    import flash.events.EventDispatcher;
    import flash.events.StatusEvent;
    import flash.external.ExtensionContext;

    public class AndroidToast extends EventDispatcher
    {
     
        public var extCtx:ExtensionContext=null;  

        public function AndroidToast()  
        {
     
            extCtx = ExtensionContext.createExtensionContext("com.roub.Toast","");  
            extCtx.addEventListener(StatusEvent.STATUS, onStatus); // 添加回调事件返回监听
        }  

        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值