6

私はAdobeAirを初めて使用します。次のリンクをたどるだけで、helloworldアプリから始めました。

http://help.adobe.com/en_US/air/build/WS144092a96ffef7cc4c0afd1212601c9a36f-8000.html

HelloWorld.mxml ファイルを正常にコンパイルできますが、コマンド adl HelloWorld-app.xml に従ってアプリを実行できません。エラーメッセージには、..初期コンテンツの読み込み中にエラーが発生したと表示されます。

また、HelloWorld-app.xml を添付しています

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
    <id>samples.flex.HelloWorld</id>
    <version>0.1</version>
    <filename>HelloWorld</filename>
    <initialWindow>
        <content>HelloWorld.swf</content>
        <visible>true</visible>
        <systemChrome>none</systemChrome>
        <transparent>true</transparent>
        <width>400</width>
        <height>200</height>
    </initialWindow>
</application>

そして HelloWorld.mxml は

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://`enter code here`ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx" 
                       title="Hello World"> 

    <s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/> 
</s:WindowedApplication>

私を助けてください。

4

3 に答える 3

8

で見つかった AIR 名前空間番号xmlnsは、話の半分にすぎません。これにより、コンテンツを表示するために必要な最小ランタイム バージョンが定義されます。ストーリーの後半は、-swf-versionコンパイルされたコンテンツが何であったかです。

SWF が-swf-versionAIR adl で処理できるよりも新しいものでコンパイルされている場合、「初期コンテンツの読み込み中にエラーが発生しました」というメッセージが表示されます。

別の回答からこの表を取得し、AIR バージョン情報 ( source )を追加しました。

  SWF Version  |  Flash Player Version  |  AIR Version
---------------+------------------------+---------------
        9      |        9.0.115.0       |      N/A
       10      |        10.0, 10.1      |      1.5, 2.0
       11      |        10.2            |      2.6
       12      |        10.3            |      2.7
       13      |        11.0            |      3
       14      |        11.1            |      3.1
       15      |        11.2            |      3.2
       16      |        11.3            |      3.3
       17      |        11.4            |      3.4
       18      |        11.5            |      3.5
       19      |        11.6            |      3.6
       20      |        11.7            |      3.7
       21      |        11.8            |      3.8
       22      |        11.9            |      3.9
       23      |        12              |      4
       24      |        13              |      13
       25      |        14              |      14
       26      |        15              |      15
       27      |        16              |      16
       28      |        17              |      17
       29      |        18              |      18
       30      |        19              |      19
       31      |        20              |      20
       32      |        21              |      21
       33      |        22              |      22
       34      |        23              |      23
       35      |        24              |      24
       36      |        25              |      25
       37      |        26              |      26
       38      |        27              |      27
       39      |        28              |      28
       40      |        29              |      29
       41      |        30              |      30
       42      |        31              |      31

Flex および AIR SDK に含まれているユーティリティ-swf-versionを使用して、SWF ファイルの を確認できます。swfdump

> swfdump example.swf | grep -i '<swf'
<swf xmlns='http://macromedia/2003/swfx' version='18' framerate='24' size='10000x7500' compressed='false' >

上記の SWF は でコンパイルされている-swf-version=18ため、AIR 3.5 以降が必要です。xmlns="http://ns.adobe.com/air/application/3.5"

また、新しいツールは古い-swf-versions. そのため、古い AIR および Flash Player と互換性のある SWF を構築できます。ドキュメントで使用する API を注意深く確認してください。一部の新しい API ( BitmapData.drawWithQualityなど) では、 Runtime Versionsの下にプレーヤーの最小バージョン要件がリストされています。

于 2013-09-30T17:11:11.610 に答える
7

このブログ投稿によると、HelloWorld-app.xmlの名前空間行がAIRバージョンと一致するかどうかを確認する必要があります。

たとえば、Flex4.6ディストリビューションに付属しているmxml/ adlツールでは、正しい名前空間行は次のようになります。

<application xmlns="http://ns.adobe.com/air/application/3.1">

また、mxmlcまたはamxmlcコンパイラがadlよりも新しいSDKのものではないことも必要です。

たとえば、Flex4.6でコンパイルされたAIRアプリをAIR2.6のadlで実行することはできません。そのためには、Flex4.5ツールが必要です。

于 2013-03-21T13:37:24.950 に答える