FlashDevelop 为简单项目创建 APK 时出错

FlashDevelop error creating APK for simple project

Apk 由于错误无法构建,一些明显的故障排除没有解决它

我开始了一个 AIR Mobile AS3 App 项目。最后我可以说它正确地找到了它的 AIR 和 Flex 文件夹。有关于此类问题的线程,但不是最新版本的 Flex,主要是 AIR。所以一个最新的 flex 和 AIR 的新项目,我安装了 AppMan 包 Flex SDK + AIR SDK 4.6.0。 + 32.0.0

SetupSDK.bat 中的明显路径是:

..(whatever drive)\FlashDevelop-5.3.3\Apps\flexairsdk.6.0+32.0.0
..(whatever drive)\FlashDevelop-5.3.3\Tools\android (that includes platform-tools containing adb.exe)

… 所以 application.xml 必须有? 应用程序 xmlns="http://ns.adobe.com/air/application/32.0"

28.0 中的默认值,但这没有任何改变

是的证书是从 bat 创建的

就是这样,一个简单的嵌入式图像显示: 按 F5 时我必须在 Debug 和 Release 之间切换,因为重复两次 Debug 或 Repeat 会导致图像的 var 值为空的错误,但如果你交替它在 Device window 中显示图像,所以我会假设它编译得很好。

或者删除编译时生成的project.swf也允许在运行第一次调试或发布时显示图像。

但是当 运行 正常 apkPackageApp.bat 和 [1] 时出现错误

关于您的代码:http://oneclickpaste.com/26534/

Main.as 中尝试使用 ; 关闭导入(以防出现奇怪的技术问题)。
示例:import com.mee.ptest.PicTest;

PicTest.as 中,您需要修复此行:iPic = new PicTest.cTestPic();
成为:iPic = new cTestPic() as Bitmap;.

PicTest.as 示例:

package com.mee.ptest 
{
    import flash.display.Bitmap;
    import flash.display.Sprite;

    public class PicTest extends Sprite 
    {
        [Embed(source="../../../assets/testpic.jpg")]
        private static var cTestPic :Class;
        private var iPic :Bitmap;               

        public function PicTest()  
        {
            iPic = new cTestPic() as Bitmap;
            addChild(iPic);
        }

    }

}

然后是 Main.as 的示例:

import flash.desktop.NativeApplication;
import flash.events.Event;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;
import flash.display.Bitmap;

import flash.display.*; 
import com.mee.ptest.PicTest;

public class Main extends Sprite 
{   
    public var pic : PicTest;

    public function Main() 
    {
        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align = StageAlign.TOP_LEFT;
        stage.addEventListener(Event.DEACTIVATE, deactivate);

        Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

        //# check if app is ready to display visual items...
        if (stage) {  show_Pic(); }
        else { addEventListener( Event.ADDED_TO_STAGE, show_Pic ); }

    }

    private function show_Pic() :void 
    {
        pic = new PicTest();
        addChild(pic);
    }

    private function deactivate(e:Event) :void 
    {
        // make sure the app behaves well (or exits) when in background
        //NativeApplication.nativeApplication.exit();
    }

}

http://www.flashdevelop.org/community/viewtopic.php?f=6&t=12144

这解决了问题。我也必须安装 JRE 1.6,因为 1.8 有 FD 的错误。在 jvm.config 中设置 java.home 的路径以使用 JRE 1.6 文件夹,不再是 'Variable not defined',这是常见的消息,现在我可以 F5 而不会出现错误,感谢以上提示位图静止。