gpt4 book ai didi

android - 一个 Flex 移动应用程序中的两个 ane 文件发生冲突

转载 作者:行者123 更新时间:2023-11-29 01:57:01 25 4
gpt4 key购买 nike

我有两个用于录像机的文件。一个适用于 Android 设备,另一个适用于 ios 设备。两者都有不同的包名称和方法。

现在,我在单个项目中导入两个Native Extension。并按以下方式检测ios和android设备:

if(Capabilities.version.indexOf('IOS') > -1) //for ios device

if(Capabilities.version.indexOf('AND') > -1) //for android device

并为每个类创建对象。现在,当我运行时,它会给出未找到另一个 ane 类的错误。

就像假设我 checkin ios 然后给出 android ane 文件类错误,未找到事件。安卓也一样。

最佳答案

如果您的 ANE 仅支持 Android,则在 Ios 中运行时根本不可用(Ios 也是如此)。如果它有一个默认实现,它的类将可用,但如果没有,那么它的类将不存在于该范围内,如果您尝试引用它们,将抛出错误。当使用仅提供一种平台实现的 ANE 时,仅在针对该平台进行编译时才必须使用这些 ANE。您可以轻松地在 ANE 之间切换的方法是使用 CONFIG 常量。

编辑:定义常量。右键单击项目并选择“属性”,在“Actionscript 编译器”中添加您认为合适的配置行,例如:

-define=CONFIG::ANDROID,false
-define=CONFIG::IOS,false

现在将引用 Android ANE 和 IOS ANE 的所有代码(包括 import 语句)包装为:

CONFIG::ANDROID
{
//android code here
}
CONFIG::IOS
{
//ios code here
}

现在,您的 2 个配置变量设置为 false,因此您的应用程序将不会编译“CONFIG::ANDROID”或“CONFIG::IOS”之间的代码。现在,如果在“actionscript 编译器”中进行更改:

-define=CONFIG::ANDROID,true

“CONFIG::ANDROID”之间的所有代码都将被编译(您可以在代码中的任何地方多次使用“CONFIG::ANDROID”)。

因此在编译之前将一个配置设置为 true,并确保将另一个配置设置为 false,以便为正确的平台编译正确的代码。

关于android - 一个 Flex 移动应用程序中的两个 ane 文件发生冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30732224/

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