2014-10-06 30 views
0

我正在爲Adobe AIR開發應用程序。當我通過ADL運行它時,該應用在Adobe Flash CC上運行良好。當我發佈桌面應用程序並運行它時,出現以下錯誤: VerifyError:錯誤#1014:無法找到類flash.filesystem :: File。Adob​​e AIR應用程序在ADL上正常工作,但在單次運行時崩潰

這很奇怪,因爲實際上,當我在Adobe Flash之外運行應用程序時,應用程序通過Flash Player運行。

引起該問題的代碼是這樣的:

import flash.filesystem.File; 
import flash.filesystem.FileStream; 
import flash.filesystem.FileMode; 

function saveData(): void { 
    var pathToFile: String = File.documentsDirectory.resolvePath('test.txt').nativePath; 
    var someFile: File = new File(pathToFile); 
    var stream: FileStream = new FileStream(); 
    stream.open(someFile, FileMode.WRITE); 
    stream.writeUTFBytes(csv); 
    stream.close(); 
} 

它崩潰的

var pathToFile: String = File.documentsDirectory.resolvePath('test.txt').nativePath; 

任何想法?

+0

您在「文件」>「發佈設置」中指定了哪個播放器? – Brian 2014-10-06 17:20:38

+0

它是用於桌面的AIR 15.0.0.249。 ActionScript 3.0 – tim 2014-10-06 22:33:24

回答

1

您必須發佈Adobe AIR應用程序,而不僅僅是「SWF」文件。

消息:

VerifyError: Error #1014: Class flash.filesystem::File could not be found. 

意味着你的SWF不是從空氣,但是從簡單的Flash播放器執行。

您必須設置目標AIR桌面(也可以下載最新的AIR SDK)是這樣的:

enter image description here

你也可以選擇你的應用程序的分發方式:

enter image description here

我建議使用「嵌入式運行時應用程序」,因爲在這種情況下,您將收到包含所有運行時的應用程序,並且您的用戶不會對您的軟件造成任何不便。

+0

這正是我所做的。我將該應用程序以AIR包或嵌入式運行時發佈。當我打開應用程序時,它嘗試訪問File類時崩潰,就好像它不是由Adobe AIR運行一樣。當我通過Flash構建它時,我沒有這種行爲。 – tim 2014-10-06 22:34:52

+0

無法理解你。你正試圖直接運行瑞士法郎? – 2014-10-07 00:02:40

+0

不,如果我按照application.app建議導出,則雙擊此文件並運行應用程序。我沒有進入打開SWF的包。然而,即使我打開.app文件,仍然存在相同的問題 – tim 2014-10-07 08:54:42

相關問題