[RDT更新]全面支持AIR4.0

2014.03.06 – RDT

仅支持以下功能:(3.5以前的部分功能 adobe官方已修复 所以在4.0中去掉.)

  • 自定义AIR主activity的launchMode
  • 去除android资源国际化限制.
  • 彻底解决android资源ID找不到的问题.
  • ANE中加入多jar库引用,去除ANE中合并jar的步骤.
  • ANE中彻底解决资源ID错乱问题.(不是找不到ID,是ID数值偏差,在ANE中偶有发生).
  • 可打包任意文件进APK根目录,以应对类似移动MM 联想支付等问题.
  • 尽最大限度让AIR for android项目在打包上无限接近原生android项目.

更多详情请移步github!

案例地址

Anti-ADT:https://github.com/recter/Anti-ADT

feed: BANGF846973A2B0A360D19518E1BXIANGUO

AIR项目个人技术总结(完结)

之前


在九月份的时候我对自己参与的项目做了一次粗浅的总结:传送门,到了四个月后的现在,这个项目我能参与的部分应该只剩接渠道的时候写ANE(前后端)和更新版本的时候负责出所有渠道的版本,关于我的第一个项目的所有模块几乎都已经转给其他同事了,而项目新版本的开发我也完全没有参与了,在这项目最后的这几个月也让我对AIR这个跨平台"引擎"又有了新的认识.在前一个月多的时间里我把AIR仔细分析了一遍,对于跨平台的认知感觉和之前又有了区别,我们总是抱怨在现有的环境下学不到东西,很多道友在抱怨每天写同样的if-elseif-else逻辑枯燥无比,其实很多时候你换几个视角看东西会让你获益匪浅.

 

之一


对于我参与的这个AIR项目,我虽然并没有在项目中参与运营,但是这个项目从无到有,再到上平台,到第一个玩家付费,到第一个单笔10K的大R出现,每一个让团队激动的时刻 我都算见证了,这个项目从无到上线总共经历了207天的时间(6~7个月左右,以前可能只听到网上分析或者预估的时间,但是这个时间是我从写的第一句代码到上平台开服的那一天的准确时间.)

继续阅读“AIR项目个人技术总结(完结)”

[PlatformANEs]更新百度移动联盟ANE

最近在有平台合作伙伴告诉我全国SDK“百度最差,联想第二”。

听到这句话让我很感慨,因为我接过联想的SDK,而且知道联想的SDK的外包方。

可能巨头都比较专注自己的业务而忽略一些边缘的东西。

不过我最近听说的华为和TX在开发自己的flash。不知道两年后浏览器视频流会有什么变化。

2014.01.07


 

继续阅读“[PlatformANEs]更新百度移动联盟ANE”

解密ADT第六篇-DIY MY ADT

前言

拔开云雾见到明月之后才发现柳暗花明又一村.

    这篇文章是解密ADT系列中解密air for android的最终篇(希望是最终,本来上一篇想做最终篇的 但是发现越写越多越乱,于是就把它拆开了),在前四篇文章中说的东西可能没什么实际用途,那么这一篇 我就说说之前那么多分析 对于我们的项目究竟有什么用?下面我就列举几个ANE巨坑(所谓的坑,即使归根到底是由于自己当初的无知),这篇文章即将要针对这几个问题给出完美解决方式的,当然这些问题我在之前的ANE教程中已经有当时认为是完美的解决方式.
 
 

修改的内容


1.自定义AIR主activity的launchMode,解决平台支付过程中activity堆栈被切掉的问题.

说明:改为默认的launchMode:android:launchMode="standard"

2.去除包名前缀"air.",虽然这无伤大雅 但是前缀带air总有一种不太好的感觉.

说明:默认为设置环境变量“AIR_NOANDROIDFLAIR=true”可去掉,

3.去除android资源国际化限制.

说明:修改aapt编译参数

继续阅读“解密ADT第六篇-DIY MY ADT”

解密ADT第五篇-案例分析

前言

本来此篇当作最终篇,但是一下子写说多了,说着说着就占了很多的篇幅了,于是把这篇分拆开来当作案例分析,本篇使用的案例是联想SDK,具体的请看我的github地址…可能我写的那么多乱且没什么朋友看,但是我自己也当作是一种记录与训练,怎么把我知道的对的或者错的展现给第二个人 这是我迫切需要锻炼的能力.


Let`s going on

下面将一步一步针对ADT进行DIY,以下是一些事先需要准备的:

配置的IDE环境:android开发环境,AIR开发环境,JAVA开发环境.

配置的环境变量:android SDK tool,JDK1.7,JRE,ADT,Apktool5.2

我使用的系统:XP,Win7,Mac

SDK版本:AIRSDK:3.5,androidSDK2.2.3

案例ANE:联想支付(https://github.com/platformanes/AndroidLenovoANE)

继续阅读“解密ADT第五篇-案例分析”

解密ADT第四篇-编译源码

      经过前面三篇的介绍,我相信大家应该知道ADT在编译 打包 AIR FOR ANDROID项目的时候的整个工作流程,所以关于流程原理上的东西 在这里就不多赘述了,ADT编译android源码相比编译资源来说就简单很多,大家直接看源代码注释就能看明白.这一篇分析的是 ADT操作androidSD之中的dx工具把 一堆jar文件编译成dex文件的操作过程,我们都知道 每一个apk文件都需要一个dex文件,而dex文件则是可以被android设备直接执行的文件,就类似与swf文件对于flash player而言.对于想了解更多android程序原理和结构的同学,我推荐大家去购买由国内知名安全论坛看雪学院出品的一本超级好书:android软件安全与逆向分析.

不够这本书需要一定的android基础.现在我们知道dex文件便是android设备最终可执行的文件 那么我们的ADT是如何生成dex文件的呢?下面我们直接看代码.

 

继续阅读“解密ADT第四篇-编译源码”

[AIR接入Android]关于合计jar的补充第二弹

  1. 首先之前写的一个比较粗糙的ANE教程:传送
  2. 然后后面一个对于jar合计的补充:传送

没错今天又有东西需要补充了,其实是一个不一定会出现的问题.之前有犹豫写不写出来,但是随着接触的android SDK越多 发现其实这个问题还是蛮普遍的.

  • 那就是android项目引入的原生类android-support-v4.jar该不该合并到一起?

我觉得是需要差别对待.这个jar包含了android基础的几个包:

继续阅读“[AIR接入Android]关于合计jar的补充第二弹”

[PlatformANEs]更新四连发

最近非常的忙,一直没怎么更新PlatformANEs,于是更新一下这四个小平台ANE。希望能帮助接这几个小平台的小伙伴.

11.21-12.04


​相关资源


[code lang=”java”] enjoy your code [/code]

[AIR for IOS] 越狱版程序自更新

网上有很多的人分享IOS越狱,官方版的程序自更新。但是我还是习惯记录一下。IOS项目的程序更新使用到了itms-services协议,我们并不需要太了解itms-services协议是什么,只需要在服务器配置一个xml 和在 AIR 项目中调用遍可以实现我们想要的功能。
针对以下XML需要改 的地方只是:

  1. 需要更新的ipa包(修改为你的IPA所在服务器路径)
  2. 程序图标 (修改为你项目本身图标)
  3. 程序包名(修改为你项目的包名ID,其实就是-app.xml中的id)
  4. 程序名字(修改为你的程序名字 其实就是-app.xml中的fileName)

首先是需要在服务器配置一个xml:

继续阅读“[AIR for IOS] 越狱版程序自更新”

解密ADT第三篇-java编译工具详解

前言

之前介绍了ADT编译air android项目的资源,接下来介绍编译源码部分,在这之前 我会贴几张图,以说明我们在FB中开始创建 air项目 到 发布APK的整个过程,现在终于开始说编译源码的问题了,这个问题我打算从最开始的android SDK编译开始说.接下来这篇文章可能有点枯燥,但是没关系,对于我这个健忘症患者来说,如果把技术写的细致才是关键.

  • FB打包APK 过程剖析

首先最直观的方式: 继续阅读“解密ADT第三篇-java编译工具详解”