来源:http://www.th7.cn/Program/Android/201405/206863.shtml

一.Ane概况

1.Ane是什么?

Ane是为了解决 as3(flash)与Java代码通信的问题。跟 android与c++之间互通,需要JNI;android与html5之间互通需要javascript等一样的道理。本质是 as3 与java 之间的接口。

目前,用的比较多情景是:flash手机游戏需要在android平台渠道上发布,需要接很多渠道的SDK,而这些SDK主要是android原生写的。所以,需要开发者自己编写Ane去调用android代码。IOS越狱平台,也是同样的道理。

2.Ane组成部分

包括2部分:as部分和Java部分。

实质上,就是 as定义好接口,然后Java部分实现接口的功能。需要说明的是:as定义的接口和Java声明的接口是一一对应的,这样才能保证as接口能够调到Java的代码。最后,把as代码和java代码用打包工具,打成一个xx.xx.xx.ane的压缩包。As工程就可以把.ane 导入,直接调用as部分已经定义好接口。

3.Ane具体打包过程

可见:网络资源,网上很多,这里不作描述。

二.疑难问题

这是本文章的重点。下面这些问题,都是个人经过制作国内及国外几十家渠道平台的SDK Ane总结出来的,绝对真实可用。

1.    资源打包问题

  • Res资源,很easy。全都放到 打包工具的 Android-ARM/res中。但需要注意的一点是:图片是标准的.9.png ,如果不是标准的,会提示错误:”No marked region found along edge “;  xx.xml布局文件中不能包含中文,中文都必须放到 string.xml中。
  • ·assets资源:应该放到As游戏工程的根目录下,与src目录同级。如果assets里面包含 xx.apk ,那么不会自动打进去的。等游戏apk出来之后,必须手动解包将xx.apk放进去,然后重新打包。
  • ·lib资源:主要是libs/armeabi  里面的xxx.so文件。这些文件,如果是放到 打包工具Android-ARM/libs/armeabi 目录下,也是打不进 .ane里面的。 必须放到 打包工具 Android-ARM/libs/armeabi-v7a 该目录下。
  • ·隐藏的资源:这里主要是针对 国外的一些渠道SDK jar包里面,会把资源放进去。 比如 xxx.jar 里面包含一个 assets 资源文件夹。那么必须要将 xxx.jar 包里面的 assets文件夹 解压出来,处理方法 跟 assets资源 一样。 如果您发现打出来的游戏apk包,在登录或者其他界面 显示少着一些按钮,背景之类的,那么就需要考虑 这个隐藏的资源问题。

2.    apk调试

有的时候,必须要反编译 游戏apk ,修改AndroidManifest.xml 才可以正常运行。

  • ·apk的包名

默认情况下,as打出来的apk,包名前面都加了一个 air.  。所以,对于那些绑定包名的SDK而言,就要修改 package 。比如微信分享、支付,QQ登录…

  • ·程序从后台回到前台,SDK页面消失了。

这时候,应该考虑 配置文件的 android:launchMode="singleTask" 问题了。需要修改。把主activity的 android:launchMode="singleTask" 删掉,其他           的 activity 加上该配置。或者 执行相反操作。

  • ·版本号的问题

如果某些SDK初始化错误,那么可能SDK里面用到了版本号的信息。也就是 android:versionCode="0"              android:versionName="@string/app_version"  。默认打出来的apk 包,配置文件是上面这样子的。 那就需要手动修改成:android:versionCode="1"    android:versionName="1.0"   版本号,游戏可以自己定义。建议,不管是否出错,都要修改版本号配置。

2.    activity生命周期

在android中,有的SDK 设计的时候,需要重写其生命周期的一些方法。比如 onActivityResult()等…解决方案:中间新建一个空的activity,然后,在空的activity去掉SDK的一些方法,这样就可以获取到了回调。在获取到回调信息之后,finish()该空activity。

3.    关于银联支付的坑

昨天,刚做了一个关于机锋SDK的Ane。碰到了一个大坑。。。调试了1天。。。

支付的时候,其余支付方式都正常,但银联支付就是出不来界面,而且程序崩溃。

最终解决方案:把android下面生成的demo.apk ,解包 将关于银联支付的 .smail程序代码类 都拷贝出来,手动替换掉 as游戏工程apk 解包之后的 .smial银联相关的支付文件,就ok了。。。

暂时,只想到这么多。如果各位大神,也遇到过坑,请帖评论。一起发扬此贴。

转载于:https://www.cnblogs.com/sunminmin/p/3831039.html

Ane技术大全 - Devil程序员相关推荐

  1. 《代码大全》程序员们怎样花费自己的时间

    内容来自:<<Code Complete 代码大全>>计算机实用软件技术系列丛书 程序员不仅要花费其时间编程,也要花费时间开会.接受培训.阅读邮寄材料和思考.1964年对贝尔实 ...

  2. 阿里资深技术工程师: 程序员怎样快速成长?

    梦想很美好,现实却很残酷 不管是开发.测试.运维,每个技术人员心里多多少少都有一个成为技术大牛的梦.毕竟"梦想总是要有的,万一实现了呢"? 但很多阿里的新人,工作后就会发现,梦想是 ...

  3. k8s 偏向运维技术 ,后端程序员为什么要学习k8s?

    k8s 偏向运维技术 ,后端程序员为什么要学习k8s?? 1.以前项目开发:开发,运维是密不可分 - 上线 运维,开发密不可分     2.开发&运维 结合更紧密 - DevOps - 流水线 ...

  4. 十大面试问题解惑,秒杀一切HR、技术面试。程序员必读! 最能体现求职者能力的就是面试,能不能拿到Offer,取决于你面试时的表现,只有有准备才能在面试过程中游刃有余。小编收集了10个面试官最爱提的问题

    十大面试问题解惑,秒杀一切HR.技术面试.程序员必读! 最能体现求职者能力的就是面试,能不能拿到Offer,取决于你面试时的表现,只有有准备才能在面试过程中游刃有余.小编收集了10个面试官最爱提的问题 ...

  5. 十大面试问题解惑,秒杀一切HR、技术面试。程序员必读!

    十大面试问题解惑,秒杀一切HR.技术面试.程序员必读! 最能体现求职者能力的就是面试,能不能拿到Offer,取决于你面试时的表现,只有有准备才能在面试过程中游刃有余.小编收集了10个面试官最爱提的问题 ...

  6. 【程序员装备大全】程序员,就要对自己好一点!

    摘要: <极限特工:终极回归>已经上映了,除了主演们的美好肉体以及让人肾上腺激素爆棚的剧情,那些炫酷的装备也是吸引了无数影迷的眼球.试想一下,如果让你拥有这些装备呢?就算成为不了范迪塞尔, ...

  7. 技术直播:程序员副业的修炼指南!(限免报名)

    面试造飞机,上班拧螺丝,每天想辞职,但无奈副业还"大器晚成"的样子!那可能是你还没有选对副业! 滴滴 ~福利卡!!! CSDN学院邀请汤小洋老师开设技术直播课<程序员副业之路 ...

  8. 技术不错的程序员,为何面试却“屡战屡败”

    为何很多有不少编程经验,技术能力不错的程序员,去心仪公司面试时却总是失败?至于失败的原因,可能很多人都没意识到过. 01 想要通关面试,千万别让数据结构拖了后腿 很多公司,比如 BAT.Google. ...

  9. Linux常用命令大全-toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

最新文章

  1. mqtt android简书,iOS MQTT协议笔记
  2. 使用SAE和Gitcafe开发网站应用
  3. PyTorch 训练可视化教程 visdom
  4. JavaScript类型总览(图)
  5. 7-2 批处理作业调度 (10 分)(思路+详解)
  6. JDK 11:轻松取出单文件Java源代码程序
  7. 电脑动态壁纸_《Wallpaper Engine》一周电脑动态壁纸精选-第十二期
  8. c语言中逗号是什么字符,C语言中的逗号操作符
  9. java入门申请,《java入门如此简单》——基础知识1
  10. 最大一笔收购,Pokémon Go开发商Niantic收购AR开发平台8th Wall
  11. php 动态多维数组长度,php – 动态创建多维数组
  12. kaggle比赛:房价预测(基于MXNet框架)
  13. 三桥君:如何把SQL Server的数据库导为sql文件
  14. proc sys文件系统对比
  15. 网站被劫持的解决方案、网站被劫持怎么办、网站被劫持有什么解决办法
  16. 软件的生命周期SDLC
  17. mysql server安装及配置
  18. 类加载顺序及加载过程详解
  19. 量化资源--awesome quant中文版发布
  20. Microsoft SQL Server 图书管理数据库的建立

热门文章

  1. 深度linux引导安装,全程演示Linux Deepin 12.06安装过程
  2. 圈钱跑路 ERC20 Token 合约代码分析
  3. Android Studio安装应用时报错 installation failed with message Failed to finalize session......
  4. linux 下升级apache,CentOS6.5在已有低版本环境下安装升级Apache+MySQL+PHP,centos6.5apache...
  5. 买卖股票的最佳时机—leetcode121
  6. 子集—leetcode78
  7. 开始体验Kali Linux
  8. C++创建对象的两种方式
  9. compat mysql51 5.1_MySQL mysql-5.1升级到mysql-5.6
  10. mysql 的 外连查询