我正在编写一个程序,它有一个AIR前端,但后端用另一种语言编写(在这种情况下是Python).由于AIR无法调用其他可执行文件,因此这种关系必须相反,Python运行AIR子进程.如何找到用户的AIR运行时?我希望能够在Mac,Windows和Linux上执行此操作.
(具有讽刺意味的是,如果我可以打包AIR调试运行时,这将非常容易,但许可协议要求用户自己下载常规运行时并运行安装程序.)
我正在尝试在linux中安装adobe air sdk.我将从http://www.adobe.com/products/air/tools/sdk/下载的软件包解压缩到"AdobeAIRSDK"文件夹中,并将/ bin文件夹添加到PATH环境变量中.但是当我试图运行adl时,它给了我以下错误:
加载运行时出错(/home/monuser/AdobeAIRSDK/bin/../runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/None/libnss3.so:文件太短)
这里有什么问题,如何解决这个问题?
如果我尝试打开放置在空中app文件夹内的文件,我只会收到"错误#3000:非法路径名称".如果文件位于app-folder之外的其他位置,则可以使用.
private var file:File = File.documentsDirectory;
public function download():void{
var pdfFilter:FileFilter = new FileFilter("PDF Files", "*.pdf");
file.browseForOpen("Open", [pdfFilter]);
file.addEventListener(Event.SELECT, fileSelected);
}
private function fileSelected(e:Event):void
{
var destination:File = File.applicationDirectory
destination = destination.resolvePath("test.pdf");
/*
//This works, also if the file to copy is placed inside the appfolder
file.copyTo(destination, true);
*/
/*This Throws me an Error #3000, but ONLY if the file is located in
the App folder*/
file.openWithDefaultApplication();
}
Run Code Online (Sandbox Code Playgroud)
当我尝试获取相同的文件并将其复制到另一个地方时,它做得很好.
为什么?如果我想打开appfolder中的文件,可以做些什么特别的事情?它也不能在调试模式下工作 - bin-debug.
此致,Temo
我如何实施一个系统,使20个应用程序在封闭网络上运行,以便在执行各种任务时保持同步?
每个应用程序在相同的机器上都是相同的.这些机器将具有到主应用程序的套接字连接,该套接字将向诸如的单元发出TCP命令 Play:"Video1.mp4".这些视频同时播放并与彼此保持时间至关重要.
每个单元之间的唯一区别是窗口将在桌面上偏移,因此每个窗口在应用程序上都有不同的视图端口 - 因为这将用于多投影仪设置.
任何解决方案/想法将不胜感激.
我的ANE文件的结构如下所示:
<META-INF>
<ANE>
<Windows-x86>
ExtensionDll.dll
DllUsedByExtensionDll.dll
extension.xml
mimetype
catalog.xml
library.swf
Run Code Online (Sandbox Code Playgroud)
如果ExtensionDll.dll使用其他Dll中的函数,则不会加载扩展名.DllMain没有被调用.当空中应用程序使用扩展程序运行时,似乎DllUsedByExtensionDll.dll不在Dll搜索路径中.
如果我不想将它们放入一些常见的Dll路径,我应该如何让应用程序找到额外的Dll?
我创建了一个Adobe Air应用程序,需要能够在Mac上编辑hosts文件,您需要具有管理员权限才能执行此操作.当您以管理员身份运行可执行文件时,它适用于Windows.我想知道你怎么能在Mac上做同样的事情?如果它因操作系统版本而改变,我正在运行Mac OS X 10.7.4
我尝试了命令sudo open'Application.app',但它没有让我编辑该文件.
谢谢!-Ken
我有一个用纯AS3编写的Adobe AIR应用程序,它具有一些在用户空闲时发生的功能,然后在用户返回时返回到正常状态.我正在使用以下代码检测此活动:
NativeApplication.nativeApplication.idleThreshold = 180;
NativeApplication.nativeApplication.addEventListener(Event.USER_IDLE, onUserIdle);
NativeApplication.nativeApplication.addEventListener(Event.USER_PRESENT, onUserPresent);
Run Code Online (Sandbox Code Playgroud)
onUserIdle应该在3分钟之后调用该方法,但之后onUserPresent几乎立即触发该事件.我说的是几毫秒之后.这种情况在没有任何用户输入的情况下发生.奇怪的是,这不会发生在Windows上 - 仅在OSX上.它发生在OSX的各种风格上,可以追溯到10.6.3.
Adobe的文档对于如何确定这些事件非常模糊,所以我不确定我是否可以在系统级别做些什么来解决问题.有没有人对此问题有任何经验,如果没有,有关我如何检测用户闲置的任何其他建议,即使应用程序没有焦点?
只是为了抢占这个建议,我不能使用鼠标/键盘监听器来模拟相同的行为,因为如果应用程序失去焦点它们不起作用,而NativeApplication事件仍然会触发.我也习惯NativeProcess得到ioreg的输出以获得系统报告的硬件空闲时间,但它似乎不受鼠标的影响.
我真的很感激任何帮助.
编辑:我刚刚发现当应用程序在OSX上的管理员帐户中运行时不会发生这种情况.它只发生在用户帐户中,这只会让我更加困惑.
我是AdobeAir的新手.我通过以下链接开始使用helloworld应用程序.
http://help.adobe.com/en_US/air/build/WS144092a96ffef7cc4c0afd1212601c9a36f-8000.html
Run Code Online (Sandbox Code Playgroud)
我能够成功编译HelloWorld.mxml文件,但我无法通过以下命令adl HelloWorld-app.xml运行该应用程序.加载初始内容时错误消息说..错误.
另外我附加了HelloWorld-app.xml
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
<id>samples.flex.HelloWorld</id>
<version>0.1</version>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.swf</content>
<visible>true</visible>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<width>400</width>
<height>200</height>
</initialWindow>
</application>
Run Code Online (Sandbox Code Playgroud)
和HelloWorld.mxml是
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://`enter code here`ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
</s:WindowedApplication>
Run Code Online (Sandbox Code Playgroud)
请帮我.
Adobe 的振动功能在iOS和Android上的Flex移动应用程序中运行良好,但是当我尝试在Windows 7上从Flash Builder 4.7启动AIR模拟器时,我收到错误:


这里是后一个截图的错误消息的副本:
Process terminated without establishing connection to debugger.
The content cannot be loaded because there was a problem loading an extension: Error: Requested extension com.adobe.Vibration is not supported for Windows-x86.
Launch command details: "C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0 (AIR 3.5)\bin\adl.exe" -runtime "C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0 (AIR 3.5)\runtimes\air\win" -profile extendedMobileDevice -screensize 640x920:640x960 -XscreenDPI 326 -XversionPlatform IOS -extdir "C:\Users\xxx\Adobe Flash Builder 4.7\.metadata\.plugins\com.adobe.flexbuilder.project.ui\ANEFiles\MyApp-Mobile\win32\" C:\Users\xxx\Documents\MyApp\mobile\bin-debug\MyApp-app.xml C:\Users\xxx\Documents\MyApp\mobile\bin-debug
Run Code Online (Sandbox Code Playgroud)
同时:
Adobe的另一个ANE - Adobe Gaming SDK …
我试图编译的Adobe教程ANE(GitHub库这里,教程这里),用于armv7和arm64架构,以使其保持最新.
ADT失败了 Apple App Store allows only universal applications. "libIOSVolumeLib.a" is not a universal binary. Please change build settings in Xcode project to "Standard Architecture" to create universal library/framework
但是,lipo -info ios/libIOSVolumeLib.a报告:ios/libIOSVolumeLib.a are: i386 x86_64我认为这意味着该文件没问题.
我的XCode项目设置清楚地显示:
Standard Architectures (armv7 arm64)NOarmv7 armv7s arm64一切都建立好.正在将libIOSVolumeLib.a文件复制到ADT构建命令引用的相应文件夹结构中.
我正在使用的ADT构建命令是: adt -package -target ane Volume.ane extension.xml -swc VolumeLib.swc -platform iPhone-ARM -C ios . -platformoptions platformoptions.xml -platform …