`

AIRSDK 3.7 加载远程的含有代码的swf文件

 
阅读更多

http://cenfee.com/?p=679

 

之前就说这个版本会解决可以加载远程的含有代码的swf文件的需求。但是,一直比较好奇这个是否行得通,还以为 Adobe 副总裁去了苹果,内部给了特殊待遇。 因为苹果一直就是不允许远程加载代码的,像js文件都是很危险的。

但是,昨天这个3.7发布后,弄了下。发现这个并不是想象那样。

目前,3.7实现的方式是 在打包ipa的时候,ADT 会对需要外部加载的swf文件进行处理,从中抽取了ABC码打包到ipa中,然后得到一个没有abc码的swf,那么你就把这个swf部署到服务器上。

步骤:

1.建立外部swf描述的txt文件(例如为assets/sample.txt)。格式如下:

assets/ememy.swf

assets/player.swf

2.工程描述文件中增加外部swf描述的txt文件的标签描述

<iPhone>

……….

<externalSwfs>assets/sample.txt</externalSwfs>

</iPhone>

3.目前如果使用这个功能,不能直接使用FlashBuilder打包,需要使用ADT,(具体参考ADT打包),下面提供一个范例:
adt -package -target ipa-app-store -provisioning-profile <Provisioning Profile> -storetype pkcs12 -keystore <Certificate> -storepass <Password> Test.ipa Test-app.xml Test.swf assets/sample.txt assets/player.swf assets/enemy.swf

4.打包完以后,会在命令行的当前目录下生成一个externalStrippedSwfs目录,里面就是经过处理的swf(逻辑ABC码被剥掉的),这些swf可以部署到服务器上,加载就加载这些swf,而不是它们原始的那些swf.

5.目前这个功能只能支持单一程序域,使用Loader进行加载的时候,需要指定LoaderContext的程序域为当前程序域.

externalLoader = new Loader();
externalLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
externalLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
ldrContext=new LoaderContext(false,ApplicationDomain.currentDomain,null);
externalLoader.load(urlRequest, ldrContext);

6.目前这个功能比较容易导致程序崩溃掉,官方说明,像Flex的swf,资源太大的(例如含有视频的) 都可以令程序崩溃。

 

具体还可以参考官方的Notes : http://helpx.adobe.com/en/flash-player/release-note/fp_117_air_37_release_notes.html

 

 

另外,重点说明几点:

1.只能使用单一的程序域,那么你加载进来的swf之间, 还有这些swf和主程序的swf,不能存在类的全称名(包名+类名) 相同,否则会存在冲突。

2.abc 被抽取出来打包到ipa中,那是否每更新这个远程的swf都要重新打包更新。 这个就取决于你所需要更新的内容是否涉及到代码,如果仅仅是资源的内容更新那是不需要重新打包ipa的,例如图片大小、颜色调整。所以得考虑所更新的内容是否涉及到ABC码。

分享到:
评论

相关推荐

    android加载.swf文件

    通过集成Air SDK,开发者可以使用ActionScript开发SWF文件,并在Android应用中嵌入。安装Air SDK后,使用Flash Builder或An ActionScript IDE如IntelliJ IDEA,可以将SWF项目打包为Android应用。 2.第三方库:...

    equinox-SDK-3.7.zip equinox-SDK-3.7.zip

    equinox-SDK-3.7.zip equinox-SDK-3.7.zip equinox-SDK-3.7.zip equinox-SDK-3.7.zip equinox-SDK-3.7.zip equinox-SDK-3.7.zip

    CHM\DWGdirect\TX_SDK3.7

    DWGdirect\TX_SDK3.7\TXSDK3.7.chm最新版2012/11/1

    AIRSDK32.zip

    《AIR SDK 32.0:历史、应用与重要性》 AIR SDK 32.0,全称为Adobe Integrated Runtime Software Development Kit,是Adobe公司推出的一款用于开发跨平台桌面应用程序的工具集。这个版本在发布时是Adobe AIR技术的...

    AIR SDK 文档介绍

    ### AIR SDK 文档介绍知识点详解 #### 一、AIR SDK 概述 **Adobe AIR (Adobe Integrated Runtime)** SDK 是一个强大的开发工具包,允许开发者创建跨平台的应用程序。Adobe AIR 支持使用 HTML、CSS、JavaScript ...

    AIRSDK32 adt资源

    标题 "AIRSDK32 adt资源" 涉及到的是Adobe AIR SDK的一个特定版本,即AIRSDK32,主要用于开发跨平台的应用程序,特别是针对iOS设备。在开发过程中,adt(Adobe AIR Developer Tool)是这个SDK中的一个关键组件,它是...

    关于flex与flash生成swf文件的加载(体积)问题

    8. **版本控制**:保持Flash Player和Flex SDK的最新版本,因为新版本通常会包含优化和性能提升,可能有助于减小生成的SWF文件大小。 通过上述方法,我们可以有效地管理和优化SWF文件的大小,从而提高应用的加载...

    eclipse-SDK-3.7-win32.zip 下载

    eclipse-SDK-3.7-win32.zip版种子

    海康威视x86 SDK加载文件

    这个SDK加载文件包含了开发者进行程序编写时所需的头文件和库文件,使得开发过程更加简便,无需从官方网站下载庞大的SDK完整包。 首先,头文件(Header Files)是C或C++编程中不可或缺的部分,它们包含了函数声明、...

    百度移动广告联盟flash air sdk

    在压缩包中的“demo”文件,很可能是包含了一个示例应用或者示例代码,用于演示如何使用百度ANE进行广告集成。开发者可以通过分析和运行这个示例,快速了解和掌握SDK的使用方法。 总结起来,“百度移动广告联盟...

    安卓 腾讯TBS加载本地文件(word.pdf.ppt)

    - 在解压后的`tbsloadfile`文件中,可能包含示例代码、配置文件或日志,帮助开发者理解如何在实际项目中实现TBS加载本地文件的功能。通过学习这些案例,可以避免重复踩坑,快速上手。 总之,腾讯TBS为安卓应用提供...

    SWF SDK(可编译运行版)

    6. **API接口**:SWF SDK通常包含一组API接口,这些接口提供了加载、播放、暂停、停止、跳转等操作SWF文件的方法。开发者可以使用这些API来控制Flash内容,如响应用户输入或与其他程序组件交互。 7. **资源管理**:...

    Delphi SWF SDK v1.4 For Delphi.567_delphi_swf_

    - **嵌入SWF**:SDK提供API调用,使得开发者能够在Delphi的VCL(Visual Component Library)窗体中加载和显示SWF文件。 - **播放控制**:包括播放、暂停、停止、前进、后退等操作,可调整播放速度,实现灵活的播放...

    纯AS3 简单切图工具源码

    AIR SDK 3.7提供了一套API,使得AS3代码可以访问操作系统级别的功能,如桌面文件系统。 6. **用户界面**:虽然描述中提到界面简陋,但工具仍然需要一个简单的用户界面让用户可以上传图片、设定切割参数并执行切割...

    Delphi SWF SDK 2.3 Expert Edition Full Source

    《Delphi SWF SDK 2.3 Expert Edition Full Source》是一款专为Delphi开发者设计的高级Flash(SWF)开发工具包,包含了完整的源代码,为开发者提供了在Delphi环境中创建、编辑和处理SWF文件的强大功能。这个版本是...

    命令行下直接编译as文件为swf的方法

    为了能够在命令行环境下直接编译AS文件为SWF格式,需要确保系统中已经安装了Adobe Flex SDK(或更高版本的Adobe AIR SDK),并正确设置了环境变量。 1. **下载并安装Adobe Flex SDK**:可以从Adobe官方网站或其他...

    windows下python3.7调用海康威视网络摄像头sdk

    SDK通常包含库文件、头文件、示例代码等资源,用于帮助开发者集成到自己的应用程序中。 在给定的文件列表中: 1. `LocalSensorAdd.dat`:这可能是一个配置或数据文件,用于添加本地传感器或者配置摄像头参数。 2. ...

    Delphi SWF SDK 1.9

    Delphi SWF SDK 1.9 是一个专为Delphi开发者设计的软件开发工具包,主要用于创建、编辑和处理SWF(ShockWave Flash)文件。SWF是一种广泛用于网络的富媒体格式,常用于在线展示动画、交互式内容以及游戏。通过这个...

    淘宝SDK模块代码 底部悬浮代码

    淘宝SDK模块代码主要涉及到的是与淘宝平台进行交互的应用开发,其中底部悬浮代码是实现特定功能的一个关键部分。在移动应用开发中,底部悬浮代码通常指的是在应用界面底部始终可见的控件或视图,用于提供固定的操作...

    生成自定义宽高像素的jscam.swf文件__工具

    2. **Flex SDK或Flash Professional**:开发SWF文件通常需要使用Adobe Flex SDK或Flash Professional这样的开发工具。Flex SDK是一个开源工具集,用于构建富互联网应用程序(RIA),而Flash Professional则提供了一...

Global site tag (gtag.js) - Google Analytics