asdoc为什么不产生?

时间:2013-12-11 22:43:40

标签: flash flex flex-mobile asdoc

我正在尝试立即生成一个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

PanelViewBase类中涉及大量Flex类,但唯一的移动组件是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;

2 个答案:

答案 0 :(得分: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>

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

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

答案 1 :(得分:0)

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