Browsed by
月份:2014年5月

使用ANT脚本导出发布版SWF(AIRSDK14)

使用ANT脚本导出发布版SWF(AIRSDK14)

使用ant脚本可以很方便的构建发布自己的项目,尤其是对于多语言多平台的版本,人工发布即费时,又容易漏掉东西,这些工作就交给脚本吧,机器就擅长干这个!

网上的关于ant的资料更多是用flex的sdk,但是现在移动开发一般都是在FB4.7里用的airsdk,经博主尝试以后,基本做法是一样的,ant的安装就不赘述了,自行搜索即可。下面就贴出相关代码:

 

build.xml如下:

[codesyntax lang=”actionscript3″]

<?xml version="1.0" encoding="UTF-8"?>
<project name="My App Builder" basedir=".">

	<property name="FLEX_HOME" value="D:\Program Files (x86)\Adobe\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK" />
	<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
	<property name="ADT.JAR" value="${FLEX_HOME}/lib/adt.jar" />

	<property name="APP_ROOT" value="D:\jobWp47\testant" />
	<property name="APP_NAME" value="testant" />
	<property name="APP_MAIN_CLASS" value="testant.as" />
	<property name="APP_ROOT_FILE" value="${APP_NAME}.swf" />
	<property name="APP_OUTPUT_PATH" value="${APP_ROOT}/bin" />

	<target name="swf">
		<property name="release" value="true" />

		<mxmlc file="${APP_ROOT}/src/${APP_MAIN_CLASS}" output="${APP_OUTPUT_PATH}/${APP_ROOT_FILE}" actionscript-file-encoding="UTF-8" keep-generated-actionscript="true" show-unused-type-selector-warnings="false" static-link-runtime-shared-libraries="true" fork="true" warnings="false" incremental="true" maxmemory="512m">

			<!-- Get default compiler options. -->
			<load-config filename="${FLEX_HOME}/frameworks/airmobile-config.xml" />
			<!-- List of path elements that form the roots of ActionScript
            class hierarchies. -->
			<source-path path-element="${FLEX_HOME}/frameworks" />
			<source-path path-element="${APP_ROOT}/src" />

			<!-- List of SWC files or directories that contaian SWC files. -->
			<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
                <include name="libs" />
                <include name="../bundles/{locale}" />
            </compiler.library-path>
			<swf-version>24</swf-version>
		</mxmlc>

        <delete dir="${APP_OUTPUT_PATH}/generated"/>
        <delete>
            <fileset dir="${APP_OUTPUT_PATH}" includes="${APP_NAME}.swf.cache"/>
        </delete>
	</target>
</project>

[/codesyntax]

建的测试项目是 testant,相关路径设定需要根据实际情况调整

调用ant脚本,使用FB继承的ant,也很方便,不过博主发现,在控制台打印信息时,中文会乱码,暂时还没有找到解决方法,另外一种就是通过bat批处理来直接调用。

bat脚本如下:

call ant -f build.xml swf

一行脚本即可搞定,build.xml 后跟的swf是xml文件里的target名,建议保存成bat文件,方便使用!

 

Read More Read More

File移动平台目录位置总结

File移动平台目录位置总结

在移动开发时,我们往往会疑惑该用File的哪个目录来进行文件存储和访问等,今天特意总结一下:

这是Adobe官方给出的Andriod和IOS平台的目录信息:

平台 目录类型 典型的文件系统位置
Android 应用程序 /data/data/
应用程序存储 /data/data/air.applicationID/filename/Local Store
缓存 /data/data/applicationID/cache
桌面 /mnt/sdcard
文档 /mnt/sdcard
临时 /data/data/applicationID/cache/FlashTmp.randomString
用户 /mnt/sdcard
iOS 应用程序 /var/mobile/Applications/uid/filename.app
应用程序存储 /var/mobile/Applications/uid/Library/Application Support/applicationID/Local Store
缓存 /var/mobile/Applications/uid/Library/Caches
桌面 不可访问
文档 /var/mobile/Applications/uid/Documents
临时 /private/var/mobile/Applications/uid/tmp/FlashTmpNNN
用户 不可访问

 

以下是File个静态目录在Android和IOS上的情况:

Android iOS
File.applicationDirectory 通过 URL 只读(非本机路径) 只读
File.applicationStorageDirectory 可用 可用
File.cacheDirectory 可用 可用
File.desktopDirectory SDCard 的根目录 不可用
File.documentsDirectory SDCard 的根目录 可用
File.userDirectory SDCard 的根目录 不可用
File.createTempDirectory() 可用 可用
File.createTempFile() 可用 可用

 

友情提示:博主一直用的File.documentsDirectory,非常好用!

延伸阅读:http://help.adobe.com/zh_CN/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7fe4.html