1

我现在正在尝试生成一个 asdoc。该项目是两个班。一个类扩展View,另一个是自定义Event类。真的,真的很简单。对于我的一生,我无法让 asdoc 正确生成。我尝试了很多不同的命令,我忘记了我实际尝试过和没有尝试过的命令。

每次编译时,我都会得到以下输出:

/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(41): col: 37 Error: The definition of base class View was not found.

    public class PanelViewBase extends View
                                       ^

/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(204): col: 31 Error: Method marked override must override another method.

        override protected function createChildren():void {
                                    ^

/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(246): col: 32 Error: Method marked override must override another method.

        override public function set navigationContent(value:Array):void {
                                     ^

/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(262): col: 32 Error: Method marked override must override another method.

        override public function set actionContent(value:Array):void {
                                     ^

/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(279): col: 31 Error: Method marked override must override another method.

        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
                                    ^

这是我正在使用的 bash 脚本

#!/bin/bash
docSource="/Users/jjanusch/dev/workspaces/AIR/library/src"
docOut="/Users/jjanusch/dev/workspaces/AIR/library/documentation"
libraryPath="/Applications/Adobe Flash Builder 4.7/sdks/4.11 AIR 3.9/frameworks/libs"
packageDescriptions="/Users/jjanusch/dev/workspaces/AIR/library/asdocs-package-descriptions.xml"

"$asdoc" \
    -doc-sources "$docSource" \
    -output "$docOut" \
    -lenient \
    -compiler.library-path "$libraryPath" \
    -package-description-file "$packageDescriptions" \
    -keep-xml=true \
    -skip-xsl=true

该类中涉及大量 Flex 类PanelViewBase,但唯一的移动组件是View. 我一直找不到任何无法记录移动课程的类似问题。有谁知道为什么这不起作用?我也尝试过手动将每个 swc 包含为库

编辑:值得注意的是这是 Flex 4.11 和 AIR 3.9。此外,Grant Skinner 的 Asdocr 应用程序也因同样的错误而失败。

以下是该类的导入,只是为了更好地衡量:

import com.vuria.events.ViewEvent;

import flash.events.MouseEvent;

import mx.core.UIComponent;
import mx.graphics.SolidColor;

import spark.components.Button;
import spark.components.Group;
import spark.components.View;
import spark.primitives.Rect;
import spark.primitives.RectangularDropShadow;
4

2 回答 2

1

我试图使用 asdoc 来生成 Starling 文档,但没有任何乐趣,然后又遇到了这个问题。

我正在接听电话(即基本"Incorrect number of arguments"requestContext3D()Flash,如 asdoc 没有使用正确的 Flex/AIR 版本来生成)。

http://help.adobe.com/en_US/flex/using/WSd0ded3821e0d52fe1e63e3d11c2f44bc36-7ffa.html和链接http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.html之后,有一个更好的属性的解释。

什么对我有用(或者/或):

  • 添加-strict=false
  • 指定目标玩家,然后将其链接到正确的 playerglobal.swc:-target-player=12.0

真正帮助我的一件事是转储默认配置,因此我可以看到 asdoc 的所有默认值。您可以通过以下方式执行此操作:

asdoc -dump-config config.xml

浏览这个文件,我发现:

<target-player>11.1</target-player>

因此,在添加第二个参数之前,它是为 Flash 播放器 11.1 链接的requestContext3D,因此是我的错误。

在您的情况下,我还看到默认框架设置为halo, not spark,因此更改它可能会有所帮助

于 2014-04-03T14:28:35.343 回答
0

添加编译器 arg+configname=airmobile并将移动主题 swc 添加到库路径。-library-path+=${flexlib}/themes/Mobile/mobile.swc

于 2014-11-17T22:39:10.743 回答