gpt4 book ai didi

apache-flex - 使用带有 native 扩展的 ant mxmlc 任务

转载 作者:行者123 更新时间:2023-12-04 23:06:27 26 4
gpt4 key购买 nike

我有一个正在编译到移动设备的 AIR 应用程序。有一个 iOS native 扩展 ( JamPot MobileBackup ) 在 IDE 中使用时可以很好地编译。

但是,现在 IDE 还不够,因为我们正在转向支持其他平台,我决定构建一个 Ant 脚本来运行构建过程。

问题是这个特定的 ANE 似乎在扩展代码中定义了 MobileBackup 类,而不是像我正在使用的其他 ANE 那样在单独的 .as 文件中。

这是我看到的错误:

[mxmlc] Loading configuration file /Users/anderson/src/flex/4.6.0/frameworks/airmobile-config.xml
[mxmlc] /Users/anderson/src/xxx/src/xxx/Utility.as(32): col: 35 Error: Type was not found or was not a compile-time constant: MobileBackup.
[mxmlc]
[mxmlc] private static var mobileBackup:MobileBackup = new MobileBackup();
[mxmlc] ^
[mxmlc]
[mxmlc] /Users/anderson/src/xxx/src/xxx/Utility.as(32): col: 54 Error: Call to a possibly undefined method MobileBackup.
[mxmlc]
[mxmlc] private static var mobileBackup:MobileBackup = new MobileBackup();
[mxmlc] ^
[mxmlc]
[mxmlc] /Users/anderson/src/xxx/src/xxx/Utility.as(32): col: 54 Error: Call to a possibly undefined method MobileBackup.
[mxmlc]
[mxmlc] private static var mobileBackup:MobileBackup = new MobileBackup();
[mxmlc] ^
[mxmlc]
[mxmlc] /Users/anderson/src/xxx/src/xxx/Utility.as(21): col: 35 Error: Definition ie.jampot.nativeExtensions:MobileBackup could not be found.
[mxmlc]
[mxmlc] import ie.jampot.nativeExtensions.MobileBackup;

mxmlc 调用如下所示:
<mxmlc 
file="${app.main.class.file}"
output="${build.output.swf.file}"
locale="${LOCALE}"
static-rsls="false"
accessible="false"
configname="airmobile"
debug="${build.debug.mode}"
failonerror="true"
fork="true"
maxmemory="512m">
<source-path path-element="${app.src.path}"/>
<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
<include name="libs/*" />
</compiler.library-path>
<library-path file="${FLEX_HOME}/frameworks/locale/${LOCALE}" append="true"/>
<library-path dir="${spicelib.lib.path}" includes="*.swc" append="true"/>
<library-path dir="${parsley.lib.path}" includes="*.swc" append="true"/>
<library-path dir="${app.lib.path}" includes="*.swc" append="true"/>
<external-library-path file="${AIR_GLOBAL}" append="true"/>
<external-library-path dir="${app.ane.path}" includes="*.ane" append="true"/>
<define name="CONFIG::DESKTOP" value="${output.config.environment.desktop}"/>
<define name="CONFIG::IOS" value="${output.config.environment.ios}"/>
<define name="CONFIG::ANDROID" value="${output.config.environment.android}"/>
<define name="CONFIG::PRODUCTION" value="${output.config.environment.production}"/>
<define name="CONFIG::STAGING" value="${output.config.environment.staging}"/>
<define name="CONFIG::LOCAL" value="${output.config.environment.local}"/>
</mxmlc>

其中 app.ane.path 是项目的 .ane 文件集合的路径。

我也尝试过使用 library-path 而不是 external-library-path。

除了添加 build.xml 之外,我根本没有更改 Flash Builder 项目的布局或内容,它在 IDE 中仍然可以正常编译。

我需要做什么才能让它在 IDE 之外编译?

最佳答案

我把这一切都打出来了,并决定在发帖前再试一次。我想出来了,所以我会在这里发布结果给其他人。

Flash Builder 必须从 ANE 中提取 SWC 以供 mxmlc 使用。我在别处找到了 SWC 的副本并将其添加到我的 libs 文件夹中,嘿,很快,它可以工作。

关于apache-flex - 使用带有 native 扩展的 ant mxmlc 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11112705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com