Flash Android ANE 打包流程及使用方法
package com.jingjie.anedemo.rewrite;import android.widget.Toast;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;/*** 自定义Function类,实现FREFunction接口* * @author Geny**/
public class TestToastFunction implements FREFunction {@Overridepublic FREObject call(FREContext context, FREObject[] params) {// TODO Auto-generated method stubFREObject msg = params[0];//从Flash中传过来的值FREObject result = null;//将要返回给Flash的值try {Toast.makeText(context.getActivity(),"测试成功,Android本地被调用," + msg.getAsString(), Toast.LENGTH_LONG).show();result = FREObject.newObject("这是可返回的值");} catch (IllegalStateException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (FRETypeMismatchException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (FREInvalidObjectException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (FREWrongThreadException e) {// TODO Auto-generated catch blocke.printStackTrace();}return result;}}<pre class="plain" name="code">
package com.jingjie.anedemo.rewrite;import java.util.HashMap;
import java.util.Map;import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction;/*** 自定义Context类,继承FREContext类* @author Geny**/
public class TestContext extends FREContext {@Overridepublic void dispose() {// TODO Auto-generated method stub}@Overridepublic Map<String, FREFunction> getFunctions() {// TODO Auto-generated method stubHashMap<String, FREFunction> map = new HashMap<String, FREFunction>();map.put("testToast", new TestToastFunction());//可继续put其他functionreturn map;}}<pre class="plain" name="code">
package com.jingjie.anedemo.rewrite;import com.adobe.fre.FREContext;
import com.adobe.fre.FREExtension;/*** 自定义Extension类,实现FREExtension接口* @author Geny**/
public class TestExtension implements FREExtension {@Overridepublic FREContext createContext(String arg0) {// TODO Auto-generated method stubreturn new TestContext();}@Overridepublic void dispose() {// TODO Auto-generated method stub}@Overridepublic void initialize() {// TODO Auto-generated method stub}}<pre class="plain" name="code">
<extension xmlns="http://ns.adobe.com/air/extension/2.5"><id>com.adobe.ane.test</id><versionNumber>1</versionNumber><platforms><platform name="Android-ARM"><applicationDeployment><nativeLibrary>Toast.jar</nativeLibrary><!-- 之前导出的jar包 --><!--即为Android本地FREExtension全路径 --><initializer>com.jingjie.anedemo.rewrite.TestExtension</initializer><finalizer>com.jingjie.anedemo.rewrite.TestExtension</finalizer></applicationDeployment></platform></platforms>
</extension><pre class="plain" name="code">
package
{import flash.external.ExtensionContext;public class Extension{public static const KEY:String = "testToast";//与java端中Map里的key一致 public static const EXTENSION_ID:String = "com.adobe.ane.test";//与extension.xml中的id标签一致 private var extContext:ExtensionContext;// private static var _instance:Extension;
//
// public static function getInstance():Extension {
// if(Extension._instance == null) {
// Extension._instance = new Extension();
// }
// return Extension._instance;
// }public function Extension(){//第二个为参数,会传入java代码中的FREExtension的createContext方法 extContext = ExtensionContext.createExtensionContext(EXTENSION_ID,"");}public function hello(name:String):String{if (extContext) {return extContext.call(KEY,name) as String;}return "call failed";}}
}<pre class="plain" name="code">
var anetest:Extension = new Extension;
anetest.hello("试试能不能用");<pre class="plain" name="code">
Flash Android ANE 打包流程及使用方法相关推荐
- Android APK打包流程
目录 一.概述 二.打包流程 1.打包资源文件,生成R.java文件 2.处理aidl文件,生成相应的Java文件 3.编译项目源代码,生成class文件 4.转换所有的class文件,生成class ...
- rn android mac打包,React-Native之MAC平台Android apk打包流程
MAC :Android打包流程7步走:(详情参照英文官网) 1).使用keytool首先生成keystore(包含storeFile file.storePassword .keyAlias .ke ...
- Android apk打包流程★
1.apk打包 Android开发中打包apk主要有两种方式: ①使用Android Studio集成直接生成apk: ②使用ant工具在命令行方式下打包apk. 不管哪种方式,打包apk的本质过程都 ...
- Android App打包流程
简单总结下app打包的流程: 第一步:aapt 为res目录下的资源生成R.java文件,同时为AndroidManinfest.xml生成Manifest.java文件 第二步:aidl 把项目中自 ...
- 安卓逆向_1 --- 逆向环境配置、APK 文件结构、APK 打包流程
哔哩哔哩:https://www.bilibili.com/video/BV1UE411A7rW?p=1 Android 逆向工程师系统培训‹第九期›( 课程目录 ):https://ke.yijin ...
- Android APK 打包过程 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- android打包发布流程,从源文件到APK-Android打包流程
====================================================== 原文链接https://juejin.im/entry/58b78d1b61ff4b006 ...
- Android打包流程-签名
编译任务 META-INF主要用来存储当前的apk的签名信息, 与AP相关的签名信息有下面两个: validateSigningDebug packageDebug 校验签名文件 会先通过valida ...
- 从 Android 到 React Native 开发(四、打包流程解析和发布为 Maven 库 )
1.从 Android 到 React Native 开发(一.入门) 2.从 Android 到 React Native 开发(二.通信与模块实现) 3.从 Android 到 React Nat ...
最新文章
- 几种流行Webservice框架性能对比
- “ INSERT IGNORE”与“ INSERT…ON DUPLICATE KEY UPDATE”
- 接地气的数据分析入门与进阶
- Oracle-知识结构漫谈
- 《Web全栈工程师的自我修养》
- mysql1关闭_(2.1)学习笔记之mysql基本操作(启动与关闭)
- spring--事务原理
- SQL Sever数据库的基本操作和它的建立
- photoshop照片尺寸
- 什么是特洛伊木马,它能造成什么损害?
- 物联网安全硬件修改系列-硬改
- 二、JavaWeb动态网页基础
- 2022腾讯云双十一服务器价格出炉来看看便宜不
- 51nod-1423 最大二“货”(单调栈)
- 【第60题】必学的枚举1-枚举的定义和基本特性
- 分享99个PHP源码,总有一款适合您
- Linux 命令学习 -重置root密码
- 安卓线程同步面试_Android 面试主题集合整理
- 少儿编程 电子学会图形化编程等级考试Scratch三级真题解析(选择题)2021-12
- 神经网络相关的绘图工具
热门文章
- MySQL8免安装版安装教程
- 莫纳什大学计算机专业研究生在哪个校区,盘点莫纳什大学2019年计算机类硕士课程...
- 二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈
- 怎样在手机设置无线网络连接服务器,如何用手机设置wifi路由器?
- MATLAB 汉化补丁下载
- 【RS-Attack】攻击MF:Data Poisoning Attacks on Factorization-Based Collaborative Filtering (NIPS‘16)
- html实现凹陷效果,css3怎么实现字体凹陷凸出效果?(附代码)
- 3轴/6轴/9轴传感器是什么, 加速计/陀螺仪/磁力计又是什么?
- 数据挖掘之用户价值分析
- dwm.exe_什么是桌面窗口管理器(dwm.exe),为什么运行?