尝试使用 FlashDevelop 将 SWF 转换为 AIR 中的独立 EXE
Attempting to convert SWF to standalone EXE in AIR with FlashDevelop
这个问题已经困扰我一段时间了,我正在尝试从我正在制作的游戏的 SWF 中制作一个独立的 EXE,但在此过程中我遇到了很多麻烦。我希望它是独立的,这意味着没有安装程序,我希望用户能够打开 EXE 并自动开始播放。我正在使用 FlashDevelop 的 AIR AS3 Projector Project 并且已经解决了几乎所有的问题,但最后还是遇到了一个障碍。我已经能够构建 EXE,但在尝试启动时遇到错误,内容如下: "This application requires a version of Adobe AIR which cannot be found." 我已确保我的 AIR 项目和游戏项目都使用 AIR 版本 17,但仍然没有正在工作。
我将在下面提供蝙蝠的代码,希望有人能解决这个问题。
Packager.bat
@echo off
:: Set working dir
cd %~dp0 & cd ..
if not exist %CERT_FILE% goto certificate
:: AIR output
if not exist %AIR_PATH% md %AIR_PATH%
set OUTPUT=%AIR_PATH%\%AIR_NAME%%AIR_TARGET%.air
:: Package
echo.
echo Packaging %AIR_NAME%%AIR_TARGET%.air using certificate %CERT_FILE%...
adt -package -keystore bat\TheLabyrinth.p12 -storetype pkcs12 -target bundle The_Labyrinth application.xml -C bin TheLabyrinth.swf TheLabyrinthGame.swf lib\backgrounds\cobblestone.png lib\backgrounds\frameBackground.png lib\backgrounds\fullscreenCobble.png lib\backgrounds\parchment.png lib\backgrounds\parchmentFrameBackground.png lib\spritesheet.png
call adt -package %OPTIONS% %SIGNING_OPTIONS% %OUTPUT% %APP_XML% %FILE_OR_DIR%
if errorlevel 1 goto failed
goto end
:certificate
echo.
echo Certificate not found: %CERT_FILE%
echo.
echo Troubleshooting:
echo - generate a default certificate using 'bat\CreateCertificate.bat'
echo.
if %PAUSE_ERRORS%==1 pause
exit
:failed
echo AIR setup creation FAILED.
echo.
echo Troubleshooting:
echo - verify AIR SDK target version in %APP_XML%
echo.
if %PAUSE_ERRORS%==1 pause
exit
:end
echo.
Application.xml
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/17.0">
<id>TheLabyrinth</id>
<versionNumber>1.0</versionNumber>
<filename>TheLabyrinth</filename>
<name>The Labyrinth</name>
<description></description>
<copyright></copyright>
<initialWindow>
<title>The Labyrinth</title>
<content>TheLabyrinth.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<minimizable>true</minimizable>
<maximizable>true</maximizable>
<resizable>true</resizable>
</initialWindow>
<!--
More options:
http://livedocs.adobe.com/flex/3/html/File_formats_1.html#1043413
-->
</application>
感谢您对此提供的任何帮助,我已经广泛搜索了答案,但我还没有找到解决办法。
好的,我忘记了这个问题,但我会回来回答它以防其他人偶然发现它。每当使用 FlashDevelop 来创建独立的可执行文件时,我都会在创建新项目时选择 AIR AS3 Projector。这将已经包含您需要使用下面我的文件更改的批处理文件(我还将显示您需要进行的任何独特更改)。从那里开始,我从以前的项目中复制了批处理文件的设置。
首先,我将展示 application.xml
,因为它有一些我们想要事先检查的东西。当您在调试或发布模式下启动程序时,设置将自动填充在此 xml 中。这个具体的例子来自我女朋友的一个名为 Charlene 的游戏:
<?xml version="1.0" encoding="utf-8"?>
<application xmlns="http://ns.adobe.com/air/application/21.0">
<id>Charlene</id>
<versionNumber>1.0</versionNumber>
<filename>Charlene</filename>
<name>Charlene</name>
<initialWindow>
<title>Charlene</title>
<content>Charlene.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<minimizable>true</minimizable>
<maximizable>false</maximizable>
<resizable>false</resizable>
<x>0</x>
<y>0</y>
<minSize>800 800</minSize>
</initialWindow>
<!--
More options:
http://livedocs.adobe.com/flex/3/html/File_formats_1.html#1043413
-->
<supportedProfiles>extendedDesktop</supportedProfiles>
<android>
<manifestAdditions><![CDATA[<manifest android:installLocation="auto" xmlns:android="http://schemas.android.com/apk/res/android" />]]></manifestAdditions>
</android>
</application>
这里有两点需要注意:application xmlns
版本必须与您正在使用的 AIR 版本相同(这可以通过单击“项目”,然后单击“属性”来查看)。如果这不是同一版本,只需更改 xml 或属性中的版本,否则您的程序将无法编译。
接下来要注意的是supportedProfiles
。如果您希望键盘在程序全屏时工作,则需要 extendedDesktop
设置。
现在我们来看看 CreateCertificate.bat
。您需要先 运行 这个批处理文件,因为编译器需要一个证书来打包您的程序。这将为您的程序创建一个唯一的密钥,名称为 "YourProgramTitle.p12":
@echo off
:: Set working dir
cd %~dp0 & cd ..
set PAUSE_ERRORS=1
call bat\SetupSDK.bat
call bat\SetupApp.bat
:: Generate
echo.
echo Generating a self-signed certificate...
call adt -certificate -cn %CERT_NAME% 2048-RSA %CERT_FILE% %CERT_PASS%
if errorlevel 1 goto failed
:succeed
echo.
echo Certificate created: %CERT_FILE% with password "%CERT_PASS%"
echo.
if "%CERT_PASS%" == "fd" echo Note: You did not change the default password
echo.
echo HINTS:
echo - you only need to generate this certificate once,
echo - wait a minute before using this certificate to package your AIR application.
echo.
goto end
:failed
echo.
echo Certificate creation FAILED.
echo.
:end
pause
这里没有特殊设置,继续PackageApp.bat
。这是另一批不需要特定更改的批次,此处的设置应该适用于编译您的项目:
@echo off
:: Set working dir
cd %~dp0 & cd ..
set PAUSE_ERRORS=1
call bat\SetupSDK.bat
call bat\SetupApp.bat
set AIR_TARGET=air/Setup.exe
::set AIR_TARGET=-captive-runtime
set OPTIONS=-tsa none
call bat\Packager.bat
pause
下一个是大的,Packager.bat
。再次重申,这里没有特殊设置,这个批处理文件应该可以复制过来,不要更改:
@echo off
:: Set working dir
cd %~dp0 & cd ..
if not exist %CERT_FILE% goto certificate
:: AIR output
if not exist %AIR_PATH% md %AIR_PATH%
set OUTPUT=-target bundle %AIR_NAME%
:: Package
echo.
echo Packaging %AIR_NAME%%AIR_TARGET%.air using certificate %CERT_FILE%...
call adt -package %OPTIONS% %SIGNING_OPTIONS% %OUTPUT% %APP_XML% %FILE_OR_DIR%
if errorlevel 1 goto failed
goto end
:certificate
echo.
echo Certificate not found: %CERT_FILE%
echo.
echo Troubleshooting:
echo - generate a default certificate using 'bat\CreateCertificate.bat'
echo.
if %PAUSE_ERRORS%==1 pause
exit
:failed
echo AIR setup creation FAILED.
echo.
echo Troubleshooting:
echo - verify AIR SDK target version in %APP_XML%
echo.
if %PAUSE_ERRORS%==1 pause
exit
:end
echo.
接下来是 RunApp.bat
。这里没有太多内容,但无论如何我都会包含它:
@echo off
:: Set working dir
cd %~dp0 & cd ..
set PAUSE_ERRORS=1
call bat\SetupSDK.bat
call bat\SetupApp.bat
echo.
echo Starting AIR Debug Launcher...
echo.
adl "%APP_XML%" "%APP_DIR%"
if errorlevel 1 goto error
goto end
:error
pause
:end
如果您希望 cmd 在调试器启动之前显示不同的消息,您实际上可以更改 echo Starting AIR Debug Launcher...
行。
我们要看看 SetupApp.bat
。这有一些您必须更改以适合您的程序的参数:
:: Set working dir
cd %~dp0 & cd ..
:user_configuration
:: About AIR application packaging
:: http://livedocs.adobe.com/flex/3/html/help.html?content=CommandLineTools_5.html#1035959
:: http://livedocs.adobe.com/flex/3/html/distributing_apps_4.html#1037515
:: NOTICE: all paths are relative to project root
:: Your certificate information
set CERT_NAME="Charlene"
set CERT_PASS=fd
set CERT_FILE="bat\Charlene.p12"
set SIGNING_OPTIONS=-storetype pkcs12 -keystore %CERT_FILE% -storepass %CERT_PASS%
:: Application descriptor
set APP_XML=application.xml
:: Files to package
set APP_DIR=bin
set FILE_OR_DIR=-C %APP_DIR% .
:: Your application ID (must match <id> of Application descriptor) and remove spaces
for /f "tokens=3 delims=<>" %%a in ('findstr /R /C:"^[ ]*<id>" %APP_XML%') do set APP_ID=%%a
set APP_ID=%APP_ID: =%
:: Output
set AIR_PATH=air
set AIR_NAME=Charlene
:validation
findstr /C:"<id>%APP_ID%</id>" "%APP_XML%" > NUL
if errorlevel 1 goto badid
goto end
:badid
echo.
echo ERROR:
echo Application ID in 'bat\SetupApp.bat' (APP_ID)
echo does NOT match Application descriptor '%APP_XML%' (id)
echo.
if %PAUSE_ERRORS%==1 pause
exit
:end
此处,set CERT_NAME="Charlene"
行的字符串名称应等于 application.xml
中的 name
参数。 set CERT_FILE="bat\Charlene.p12"
文件名应该与您 运行 创建时 CreateCertification.bat
的名称相同(运行 如果您还没有创建它)。 set AIR_NAME=Charlene
应该再次与 CERT_NAME 同名(假设您希望完成的项目与调试的项目同名)。
最后我们要看看SetupSDK.bat
。这其中有一行您必须更改:
:: Set working dir
cd %~dp0 & cd ..
:user_configuration
:: Static path to Flex SDK
set FLEX_SDK=C:\Users\Alec\AppData\Local\FlashDevelop\Apps\flexairsdk.6.0+21.0.0
:: Use FD supplied SDK path if executed from FD
if exist "%FD_CUR_SDK%" set FLEX_SDK=%FD_CUR_SDK%
:validation
if not exist "%FLEX_SDK%\bin" goto flexsdk
goto succeed
:flexsdk
echo.
echo ERROR: incorrect path to Flex SDK in 'bat\SetupSDK.bat'
echo.
echo Looking for: %FLEX_SDK%\bin
echo.
if %PAUSE_ERRORS%==1 pause
exit
:succeed
set PATH=%FLEX_SDK%\bin;%PATH%
set FLEX_SDK
应该有您的 Flex+AIR SDK 的路径。如果您需要知道路径,单击 Project
选项卡,然后单击 Properties
,导航到 SDK
选项卡,单击 Manage
,单击 Installed Flex SDK
s 参数, 单击 InstalledSDK[] Array
右侧的省略号方块,确保您在左侧 Members
侧选择了最新版本的 SDK(或与您的版本相同的版本) application.xml
文件),展开 window,您应该会在 Location
字段下看到路径。
好的,这是一条漫长的道路。测试您的项目以确保您的本地 swf 已更新,然后 运行 PackageApp.bat
。如果一切设置正确,应该没有错误,几秒钟后 cmd 将显示 "Press any key to continue",并且项目目录中应该会出现一个包含项目名称的新文件夹。此文件夹应包含另一个名为 Adobe AIR
的文件夹、一个 lib
文件夹、一个 META-INF
文件夹、一个包含项目名称的 exe、一个包含项目名称的 swf,以及一个 mimetype
文件。您应该能够 运行 没有问题的 exe。你有它!希望这适用于遇到此问题的其他人。
快速说明:我注意到在打包相对较大的项目时,有时批处理文件不会编译完整的项目。在完全编译之前可能需要多次尝试,但我发现了一个作弊。它需要一个已经存在的、完全编译的项目。您需要做的就是将项目的 swf(通常位于 bin
文件夹中)复制到打包项目的文件夹中。如果您更改了其他文件,您可能还需要复制它们,例如 application.xml
(编译后的文件位于 META-INF\AIR
目录),或者 lib
文件夹,如果您在 run-time 期间导入任何内容。这可以让你绕过重新编译!
这个问题已经困扰我一段时间了,我正在尝试从我正在制作的游戏的 SWF 中制作一个独立的 EXE,但在此过程中我遇到了很多麻烦。我希望它是独立的,这意味着没有安装程序,我希望用户能够打开 EXE 并自动开始播放。我正在使用 FlashDevelop 的 AIR AS3 Projector Project 并且已经解决了几乎所有的问题,但最后还是遇到了一个障碍。我已经能够构建 EXE,但在尝试启动时遇到错误,内容如下: "This application requires a version of Adobe AIR which cannot be found." 我已确保我的 AIR 项目和游戏项目都使用 AIR 版本 17,但仍然没有正在工作。
我将在下面提供蝙蝠的代码,希望有人能解决这个问题。
Packager.bat
@echo off
:: Set working dir
cd %~dp0 & cd ..
if not exist %CERT_FILE% goto certificate
:: AIR output
if not exist %AIR_PATH% md %AIR_PATH%
set OUTPUT=%AIR_PATH%\%AIR_NAME%%AIR_TARGET%.air
:: Package
echo.
echo Packaging %AIR_NAME%%AIR_TARGET%.air using certificate %CERT_FILE%...
adt -package -keystore bat\TheLabyrinth.p12 -storetype pkcs12 -target bundle The_Labyrinth application.xml -C bin TheLabyrinth.swf TheLabyrinthGame.swf lib\backgrounds\cobblestone.png lib\backgrounds\frameBackground.png lib\backgrounds\fullscreenCobble.png lib\backgrounds\parchment.png lib\backgrounds\parchmentFrameBackground.png lib\spritesheet.png
call adt -package %OPTIONS% %SIGNING_OPTIONS% %OUTPUT% %APP_XML% %FILE_OR_DIR%
if errorlevel 1 goto failed
goto end
:certificate
echo.
echo Certificate not found: %CERT_FILE%
echo.
echo Troubleshooting:
echo - generate a default certificate using 'bat\CreateCertificate.bat'
echo.
if %PAUSE_ERRORS%==1 pause
exit
:failed
echo AIR setup creation FAILED.
echo.
echo Troubleshooting:
echo - verify AIR SDK target version in %APP_XML%
echo.
if %PAUSE_ERRORS%==1 pause
exit
:end
echo.
Application.xml
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/17.0">
<id>TheLabyrinth</id>
<versionNumber>1.0</versionNumber>
<filename>TheLabyrinth</filename>
<name>The Labyrinth</name>
<description></description>
<copyright></copyright>
<initialWindow>
<title>The Labyrinth</title>
<content>TheLabyrinth.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<minimizable>true</minimizable>
<maximizable>true</maximizable>
<resizable>true</resizable>
</initialWindow>
<!--
More options:
http://livedocs.adobe.com/flex/3/html/File_formats_1.html#1043413
-->
</application>
感谢您对此提供的任何帮助,我已经广泛搜索了答案,但我还没有找到解决办法。
好的,我忘记了这个问题,但我会回来回答它以防其他人偶然发现它。每当使用 FlashDevelop 来创建独立的可执行文件时,我都会在创建新项目时选择 AIR AS3 Projector。这将已经包含您需要使用下面我的文件更改的批处理文件(我还将显示您需要进行的任何独特更改)。从那里开始,我从以前的项目中复制了批处理文件的设置。
首先,我将展示 application.xml
,因为它有一些我们想要事先检查的东西。当您在调试或发布模式下启动程序时,设置将自动填充在此 xml 中。这个具体的例子来自我女朋友的一个名为 Charlene 的游戏:
<?xml version="1.0" encoding="utf-8"?>
<application xmlns="http://ns.adobe.com/air/application/21.0">
<id>Charlene</id>
<versionNumber>1.0</versionNumber>
<filename>Charlene</filename>
<name>Charlene</name>
<initialWindow>
<title>Charlene</title>
<content>Charlene.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<minimizable>true</minimizable>
<maximizable>false</maximizable>
<resizable>false</resizable>
<x>0</x>
<y>0</y>
<minSize>800 800</minSize>
</initialWindow>
<!--
More options:
http://livedocs.adobe.com/flex/3/html/File_formats_1.html#1043413
-->
<supportedProfiles>extendedDesktop</supportedProfiles>
<android>
<manifestAdditions><![CDATA[<manifest android:installLocation="auto" xmlns:android="http://schemas.android.com/apk/res/android" />]]></manifestAdditions>
</android>
</application>
这里有两点需要注意:application xmlns
版本必须与您正在使用的 AIR 版本相同(这可以通过单击“项目”,然后单击“属性”来查看)。如果这不是同一版本,只需更改 xml 或属性中的版本,否则您的程序将无法编译。
接下来要注意的是supportedProfiles
。如果您希望键盘在程序全屏时工作,则需要 extendedDesktop
设置。
现在我们来看看 CreateCertificate.bat
。您需要先 运行 这个批处理文件,因为编译器需要一个证书来打包您的程序。这将为您的程序创建一个唯一的密钥,名称为 "YourProgramTitle.p12":
@echo off
:: Set working dir
cd %~dp0 & cd ..
set PAUSE_ERRORS=1
call bat\SetupSDK.bat
call bat\SetupApp.bat
:: Generate
echo.
echo Generating a self-signed certificate...
call adt -certificate -cn %CERT_NAME% 2048-RSA %CERT_FILE% %CERT_PASS%
if errorlevel 1 goto failed
:succeed
echo.
echo Certificate created: %CERT_FILE% with password "%CERT_PASS%"
echo.
if "%CERT_PASS%" == "fd" echo Note: You did not change the default password
echo.
echo HINTS:
echo - you only need to generate this certificate once,
echo - wait a minute before using this certificate to package your AIR application.
echo.
goto end
:failed
echo.
echo Certificate creation FAILED.
echo.
:end
pause
这里没有特殊设置,继续PackageApp.bat
。这是另一批不需要特定更改的批次,此处的设置应该适用于编译您的项目:
@echo off
:: Set working dir
cd %~dp0 & cd ..
set PAUSE_ERRORS=1
call bat\SetupSDK.bat
call bat\SetupApp.bat
set AIR_TARGET=air/Setup.exe
::set AIR_TARGET=-captive-runtime
set OPTIONS=-tsa none
call bat\Packager.bat
pause
下一个是大的,Packager.bat
。再次重申,这里没有特殊设置,这个批处理文件应该可以复制过来,不要更改:
@echo off
:: Set working dir
cd %~dp0 & cd ..
if not exist %CERT_FILE% goto certificate
:: AIR output
if not exist %AIR_PATH% md %AIR_PATH%
set OUTPUT=-target bundle %AIR_NAME%
:: Package
echo.
echo Packaging %AIR_NAME%%AIR_TARGET%.air using certificate %CERT_FILE%...
call adt -package %OPTIONS% %SIGNING_OPTIONS% %OUTPUT% %APP_XML% %FILE_OR_DIR%
if errorlevel 1 goto failed
goto end
:certificate
echo.
echo Certificate not found: %CERT_FILE%
echo.
echo Troubleshooting:
echo - generate a default certificate using 'bat\CreateCertificate.bat'
echo.
if %PAUSE_ERRORS%==1 pause
exit
:failed
echo AIR setup creation FAILED.
echo.
echo Troubleshooting:
echo - verify AIR SDK target version in %APP_XML%
echo.
if %PAUSE_ERRORS%==1 pause
exit
:end
echo.
接下来是 RunApp.bat
。这里没有太多内容,但无论如何我都会包含它:
@echo off
:: Set working dir
cd %~dp0 & cd ..
set PAUSE_ERRORS=1
call bat\SetupSDK.bat
call bat\SetupApp.bat
echo.
echo Starting AIR Debug Launcher...
echo.
adl "%APP_XML%" "%APP_DIR%"
if errorlevel 1 goto error
goto end
:error
pause
:end
如果您希望 cmd 在调试器启动之前显示不同的消息,您实际上可以更改 echo Starting AIR Debug Launcher...
行。
我们要看看 SetupApp.bat
。这有一些您必须更改以适合您的程序的参数:
:: Set working dir
cd %~dp0 & cd ..
:user_configuration
:: About AIR application packaging
:: http://livedocs.adobe.com/flex/3/html/help.html?content=CommandLineTools_5.html#1035959
:: http://livedocs.adobe.com/flex/3/html/distributing_apps_4.html#1037515
:: NOTICE: all paths are relative to project root
:: Your certificate information
set CERT_NAME="Charlene"
set CERT_PASS=fd
set CERT_FILE="bat\Charlene.p12"
set SIGNING_OPTIONS=-storetype pkcs12 -keystore %CERT_FILE% -storepass %CERT_PASS%
:: Application descriptor
set APP_XML=application.xml
:: Files to package
set APP_DIR=bin
set FILE_OR_DIR=-C %APP_DIR% .
:: Your application ID (must match <id> of Application descriptor) and remove spaces
for /f "tokens=3 delims=<>" %%a in ('findstr /R /C:"^[ ]*<id>" %APP_XML%') do set APP_ID=%%a
set APP_ID=%APP_ID: =%
:: Output
set AIR_PATH=air
set AIR_NAME=Charlene
:validation
findstr /C:"<id>%APP_ID%</id>" "%APP_XML%" > NUL
if errorlevel 1 goto badid
goto end
:badid
echo.
echo ERROR:
echo Application ID in 'bat\SetupApp.bat' (APP_ID)
echo does NOT match Application descriptor '%APP_XML%' (id)
echo.
if %PAUSE_ERRORS%==1 pause
exit
:end
此处,set CERT_NAME="Charlene"
行的字符串名称应等于 application.xml
中的 name
参数。 set CERT_FILE="bat\Charlene.p12"
文件名应该与您 运行 创建时 CreateCertification.bat
的名称相同(运行 如果您还没有创建它)。 set AIR_NAME=Charlene
应该再次与 CERT_NAME 同名(假设您希望完成的项目与调试的项目同名)。
最后我们要看看SetupSDK.bat
。这其中有一行您必须更改:
:: Set working dir
cd %~dp0 & cd ..
:user_configuration
:: Static path to Flex SDK
set FLEX_SDK=C:\Users\Alec\AppData\Local\FlashDevelop\Apps\flexairsdk.6.0+21.0.0
:: Use FD supplied SDK path if executed from FD
if exist "%FD_CUR_SDK%" set FLEX_SDK=%FD_CUR_SDK%
:validation
if not exist "%FLEX_SDK%\bin" goto flexsdk
goto succeed
:flexsdk
echo.
echo ERROR: incorrect path to Flex SDK in 'bat\SetupSDK.bat'
echo.
echo Looking for: %FLEX_SDK%\bin
echo.
if %PAUSE_ERRORS%==1 pause
exit
:succeed
set PATH=%FLEX_SDK%\bin;%PATH%
set FLEX_SDK
应该有您的 Flex+AIR SDK 的路径。如果您需要知道路径,单击 Project
选项卡,然后单击 Properties
,导航到 SDK
选项卡,单击 Manage
,单击 Installed Flex SDK
s 参数, 单击 InstalledSDK[] Array
右侧的省略号方块,确保您在左侧 Members
侧选择了最新版本的 SDK(或与您的版本相同的版本) application.xml
文件),展开 window,您应该会在 Location
字段下看到路径。
好的,这是一条漫长的道路。测试您的项目以确保您的本地 swf 已更新,然后 运行 PackageApp.bat
。如果一切设置正确,应该没有错误,几秒钟后 cmd 将显示 "Press any key to continue",并且项目目录中应该会出现一个包含项目名称的新文件夹。此文件夹应包含另一个名为 Adobe AIR
的文件夹、一个 lib
文件夹、一个 META-INF
文件夹、一个包含项目名称的 exe、一个包含项目名称的 swf,以及一个 mimetype
文件。您应该能够 运行 没有问题的 exe。你有它!希望这适用于遇到此问题的其他人。
快速说明:我注意到在打包相对较大的项目时,有时批处理文件不会编译完整的项目。在完全编译之前可能需要多次尝试,但我发现了一个作弊。它需要一个已经存在的、完全编译的项目。您需要做的就是将项目的 swf(通常位于 bin
文件夹中)复制到打包项目的文件夹中。如果您更改了其他文件,您可能还需要复制它们,例如 application.xml
(编译后的文件位于 META-INF\AIR
目录),或者 lib
文件夹,如果您在 run-time 期间导入任何内容。这可以让你绕过重新编译!