Compiler construction Adobe AIR Mobile应用程序-在桌面上运行时排除ANEs

Compiler construction Adobe AIR Mobile应用程序-在桌面上运行时排除ANEs,compiler-construction,air,adobe,fdt,Compiler Construction,Air,Adobe,Fdt,我正在用手机应用程序开发一个小游戏。为了控制游戏,需要陀螺仪,因此我将Adobe(ANE和SWC)添加到我项目的lib文件夹中 在移动设备上进行测试时,扩展工作正常;但是,当尝试将应用程序作为桌面应用程序运行时,我收到以下错误: 无法加载内容,因为加载扩展时出现问题:错误:Windows-x86不支持请求的扩展com.adobe.陀螺仪 为了排除在桌面运行配置中使用陀螺仪的代码,我在编译器参数中添加了以下参数: -define+=CONFIG::MOBILEDEVICE,false -defin

我正在用手机应用程序开发一个小游戏。为了控制游戏,需要陀螺仪,因此我将Adobe(ANE和SWC)添加到我项目的lib文件夹中

在移动设备上进行测试时,扩展工作正常;但是,当尝试将应用程序作为桌面应用程序运行时,我收到以下错误:

无法加载内容,因为加载扩展时出现问题:错误:Windows-x86不支持请求的扩展com.adobe.陀螺仪

为了排除在桌面运行配置中使用陀螺仪的代码,我在编译器参数中添加了以下参数:

-define+=CONFIG::MOBILEDEVICE,false
-define+=CONFIG::DESKTOP,true
此外,我还添加了代码片段,用于不编译使用扩展名的代码的某些部分,例如:

CONFIG::MOBILEDEVICE {
if (Gyroscope.isSupported) 
{
    gyro = new Gyroscope(); 
    gyro.setRequestedUpdateInterval(1000); 
    gyro.addEventListener(GyroscopeEvent.UPDATE, onGyroUpdate); 
}

使用条件编译可以很好地工作,但是在运行我的桌面运行配置时,如何防止包含ANE和SWC?

我无法判断此扩展的源代码是否可用,但如果可用,对于您来说,在扩展中简单地构建对默认平台的支持可能比担心条件编译更容易。您可以访问并阅读有关创建默认库的部分,以了解如何创建默认库。它只需要一个简单的AS3项目,其存根方法与网元的公共接口相匹配。然后你可以编译网元,它在任何平台上都可以正常工作