ANE打包
哈哈,曾经梦寐以求的ANE终于弄成功了一个。说实话,学java和Android就是为了写ANE!好啦,今天把我体会到的记录一下:
网上其实打包ANE的教程好多,我也找了好多好多。但是好多我自己试了还是没有弄成功,可能是我智商有问题。
我使用的工具:
Eclipse-ADT
flashBuilder
flash cs6
flex中创建项目:
As源码:
package randy.util.log
{
import flash.external.ExtensionContext; public class LogUtil
{
private static var _extensionContext:ExtensionContext=null;
private static const EXTENSION_ID:String="randyUtilLog";
private static const LOG_FUNCTION:String="fn_log"; public static const DEBUG:String="debug";
public static const VERBOSE:String="verbose";
public static const INFO:String="info";
public static const WARN:String="warn";
public static const ERROR:String="error"; public static function log(msg:String,level:String=LogUtil.INFO,tag:String="非若"):void
{
if(!_extensionContext)
{
_extensionContext=ExtensionContext.createExtensionContext(EXTENSION_ID,null);
}
_extensionContext.call(LOG_FUNCTION,msg,level,tag);
}
}
}
拿出我们需要的swc文件ANE_log.swc !
然后在Eclipse-ADT中创建android项目:
然后给项目添加 FlashRuntimeExtensions.jar
Jar文件在flashBuilder安装文件下sdks/4.6.0/lib/android目录下面;我的是D盘,4.6.0版本;
可以直接ctrl+C、ctrl+V到android项目文件里面的lib文件夹路径就OK啦
然后就开始java类编辑:
Java源码:
package randy.util.log; import java.util.Map; import java.util.HashMap; import com.adobe.fre.FREContext; import com.adobe.fre.FREFunction; public class LogContext extends FREContext { private static Map<String,FREFunction> functions=null; @Override public void dispose() { // TODO Auto-generated method stub } @Override public Map<String, FREFunction> getFunctions() { if(functions==null){ functions=new HashMap<String,FREFunction>(); functions.put(LogFunction.FUNCTION_KEY, new LogFunction()); } return functions; } }
/*****************************************************************************/
package randy.util.log; import com.adobe.fre.FREContext; import com.adobe.fre.FREExtension; public class LogExtension implements FREExtension { private LogContext logExtension=null; @Override public FREContext createContext(String arg0) { if(logExtension==null){ logExtension=new LogContext(); } return logExtension; } @Override public void dispose() { // TODO Auto-generated method stub } @Override public void initialize() { // TODO Auto-generated method stub } }
/************************************************************************/
package randy.util.log; import android.util.Log; import com.adobe.fre.FREContext; import com.adobe.fre.FREFunction; import com.adobe.fre.FREObject; public class LogFunction implements FREFunction { public static final String FUNCTION_KEY="fn_log"; @Override public FREObject call(FREContext arg0, FREObject[] arg1) { try{ String msg=arg1[0].getAsString(); String level=arg1[1].getAsString(); String tag=arg1[2].getAsString(); if("debug".equals(level)){ Log.d(tag, msg); }else if("verbose".equals(level)){ Log.v(tag, msg); }else if("info".equals(level)){ Log.i(tag, msg); }else if("warn".equals(level)){ Log.w(tag, msg); }else if("error".equals(level)){ Log.e(tag, msg);} }catch(Exception e){} return null; } }
到此,就OK了第二步!
然后点击java文件包右击到处我们要用到的jar文件:
点击finish完成!
然后让我们来创建数字证书:
打开flashcs6:
创建一个AIR for Android项目
然后点击确定,证书就创建好在桌面了
然后新建一个文件夹在桌面,比如log
Adt.jar在flashbuilder安装目录lib下可以复制粘贴过来
然后复制swc文件,并将扩展名改为zip,双击进去
把里面的文件解压出来
然后就差一个描述文件咯
新建记事本
输入:
<extension xmlns="http://ns.adobe.com/air/extension/3.1"> <id>randyUtilLog</id> <versionNumber>1</versionNumber> <platforms> <platform name="Android-ARM"> <applicationDeployment> <nativeLibrary>aneLog.jar</nativeLibrary> <initializer>randy.util.log.LogExtension</initializer> <finalizer>randy.util.log.LogExtension</finalizer> </applicationDeployment> </platform> </platforms> </extension>
Txt改为xml
就像这样
然后桌面键+R,输入cmd,确定:
进入adt.jar所在文件路径:
Cd C:\Users\feiruo\Desktop\log
然后输入打包命令行:
java -jar adt.jar -package -tsa none -storetype pkcs12 -keystore feiruo.p12 -storepass 123456 -target ane ExtensionLog.ane extension.xml -swc ANE_log.swc -platform Android-ARM library.swf aneLog.jar
-keystore feiruo.p12:数字证书的名字
-storepass 123456:数字证书密码
-target ane ExtensionLog.ane:要打包ANE的名字
extension.xml:描述文件
-swc ANE_log.swc:swc库文件
然后log文件夹下会生成一个ExtensionLog.ane文件
ANE打包的更多相关文章
- ANE打包工具使用视频教程 -- 梦宇技术 @极客学院
来源:http://xtiqin.blog.163.com/blog/static/17017217920133584934827/ ANE打包工具使用视频教程 2013-04-05 08:49:34 ...
- Flash Android ANE打包之基本流程
搭建环境这里就不详细说明了 一.Android本地库编写 1.从Flash Air SDK中提取需要的jar包 Android下需要的jar包在Flash Air SDK/lib/android目录下 ...
- ANE打包心得
1 ane中的p12证书是fb或者flashide中生成的(例如air工程生成的p12),不是苹果账号的p12 2 打包bat中的 -platform 要和 extension.xml中的platfo ...
- Air for ANE:打包注意的地方
来源:http://blog.csdn.net/hero82748274/article/details/8631982 今天遇到了一个打包ANE 文件的问题,导致花费了几个小时查找,最后师弟的一句话 ...
- ANE接入平台心得记录(安卓)
开发环境:FlashBuilder4.7 AIR13.0 Eclipse 由于我懒得陪安卓的开发环境所以我下载了包含安卓SDK Manager的Eclipse,其实直接用FlashBuilder开发A ...
- 开发QQ互联ios版Ane扩张 辛酸史
来源:http://www.myexception.cn/operating-system/1451490.html 开发QQ互联ios版Ane扩展 辛酸史 开发QQ互联ios版Ane扩展辛酸史: 1 ...
- 打包ane之后在FB上生成ipa的阶段错误
1. 初次打包 碰到这个错误得 就是你mac 上jre版本的问题 此时用 FB 必须是跑在jre1.6版本上的 我得是1.8 上图 版本可以自己查下 已经截图了 而且 你如果想要下载 1.6版本的 就 ...
- Flash Air 打包安卓 ane
工具: 1.flash builder 2.adt打包工具 3.数字证书 一. 创建 jar 文件 1. 打开flash builder, 新建一个java 项目. 2.点击项目属性,选择Java构建 ...
- 打包制作 ANE
一.打包ANE 1.ios 准备文件: anePackager.bat aneswc.swc extension.xml flashAne.ane ioslib.a library.swf platf ...
随机推荐
- 《ABCD组》第八次作业:ALPHA冲刺
<ABCD组>第八次作业:ALPHA冲刺 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...
- hdu 4862KM&最小费用最大流
/*最小K路径覆盖的模型,用费用流或者KM算法解决, 构造二部图,X部有N*M个节点,源点向X部每个节点连一条边, 流量1,费用0,Y部有N*M个节点,每个节点向汇点连一条边,流量1, 费用0,如果X ...
- hdu 4081 最小生成树变形
/*关于最小生成树的等效边,就是讲两个相同的集合连接在一起 先建立一个任意最小生成树,这条边分开的两个子树的节点最大的一个和为A,sum为最小生成树的权值和,B为sum-当前边的权值 不断枚举最小生成 ...
- Linux imooc learning
https://www.imooc.com/video/3529 Windows Vs Linux Linux: (other linux overall https://onedrive.liv ...
- sqlServer杂计
In与Exists的区别 这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法二NOT IN就不行了,而EXISTS则不如I ...
- F2BPM流程中心RESTfull解决方案及示例
1. 引言 1.1. 应用背景 随时企业的IT系统建设越来越多,往往一个企业中形成各种独立的系统,各系统相对独立,缺乏流程支掌,为达到通过构建流程服务中心向各处应用系统提供流程服务,同时将各个独立的系 ...
- MVC.Net:WebAPI添加对jsonP的支持
在某些情况下,我们需要在WebAPI项目中添加对jsonP的支持.比如我们同时创建了MVC.Net和WebAPI两个项目,这两个项目使用不同的端口,这时如果MVC.Net项目的前端想要直接访问WebA ...
- LA 3695 部分枚举
运用部分枚举的思想,很明显完全枚举点的思想是不可能的.改为枚举上下边界,当确定右边界j后,对左边界i,可以有点数为on[j]+on[i]+(leftu[j]-leftu[i])+leftd[j]-le ...
- Android 开发 ContentProvider 获取歌曲列表和联系人的样例
ContentProvider(内容提供者)是Android中的四大组件之中的一个. 主要用于对外共享数据.也就是通过ContentProvider把应用中的数据共享给其它应用訪问.其它应用能够通过C ...
- gradle配置国内的镜像
gradle配置国内的镜像 学习了:http://blog.csdn.net/stdupanda/article/details/72724181 http://blog.csdn.net/lj402 ...