2016-05-22 2 views
1

私は、(私はFlashDevelopなどのIDEを使用していません)を含むADLコマンドラインデバッガでAIRアプリケーションを実行しようとしています。私のアプリはWindowsデスクトップマシン向けです。私の周りGoogleで検索してきたFlex/ADL:ロードされたコードでネイティブメソッドが許可されていません

$ adl 
    -extdir extensions\ane_unzipped 
    -profile extendedDesktop 
    menustatemain.xml 
VerifyError: Error #1079: Native methods are not allowed in loaded code. 

と何も私は:私はADLの下でアプリケーションを実行しようとすると

$ amxmlc src/menustatemain.as 
    -o src/menustatemain.swf 
    -compiler.include-libraries C:\Users\Me\Downloads\AIRSDK_Compiler\frameworks\libs\player\21.0\playerglobal.swc 
    -external-library-path+=extensions\ane\NativeJoystick.swc 
    -use-network=false 
    -verbose-stacktraces=true 
    -debug=true 
    -advanced-telemetry 
    -omit-trace-statements=false 
    -define=CONFIG::debug,false 
    -define=CONFIG::test,true 
Loading configuration: C:\Users\Me\Downloads\AIRSDK_Compiler\frameworks\air-config.xml 

3383030 bytes written to C:\Users\Me\Documents\myproject\src\menustatemain.swf in 17.069 seconds 

しかし、それはこのエラーで失敗します。

コンパイルは問題なく動作するように見えます試してみましたが問題を解決しました。答えが私の問題を解決しないStackOverflowに関するいくつかの同様の質問があります。コンパイル時にエクステンションを動的にリンクし、実行時にロードするために見つけるすべての設定を変更しました。私はこれが拡張機能自体に問題があるかもしれないが、それを確認する方法はわかりません。

この問題をどのようにデバッグできますか?コンテキストの場合

、これはmenustatemain.xmlの内容です:

<application xmlns="http://ns.adobe.com/air/application/21.0"> 
    <id>com.me.MyProject</id> 
    <versionNumber>1.0</versionNumber> 
    <filename>MyProject</filename> 
    <initialWindow> 
     <content>MyProject.swf</content> 
     <visible>true</visible> 
     <width>640</width> 
     <height>480</height> 
     <maximizable>false</maximizable> 
     <resizable>false</resizable> 
    </initialWindow> 
    <supportedProfiles>extendedDesktop</supportedProfiles> 
    <extensions> 
     <extensionID>com.iam2bam.ane.nativejoystick</extensionID> 
    </extensions> 
</application> 

また、私はプロジェクトのサブディレクトリにネイティブ拡張のコンパイルとコンパイルされていないバージョンがあります:

C:\Users\Me\Documents\myproject 
    extensions\ 
     ane\ 
      NativeJoystick.ane 
      NativeJoystick.swc 
     ane_unzipped\ 
      NativeJoystick.ane\ 
       META-INF\ 
        ... 
+0

'adl'のようなサウンドは、間違った' Playerglobal.swc'または間違ったバージョンを拾っています。 – SushiHangover

+0

私は '-compiler.include-libraries C:\ Users \ Me \ Downloads \ AIRSDK_Compiler \ frameworks \ libs \ player \ 21.0 \ playerglobal.swc'で指定しています。あなたは別のバージョンを指定すると助けになると思いますか?どのバージョンを使用するのかはどのように分かりますか? –

+0

私は21.0ディレクション以降、あなたがコンパイルしているプレイヤーが正しいプレイヤーであると「仮定」しています。私は 'adl'について話している。それは21.0との間で実行されていますか?つまり、#-1079エラーを修正する '-runtime'オプションを設定していますか?通常、私はそのエラーを見るたびに、 'adl'は間違ったバージョンから来ています、そして/またはそれは正しいプレーヤーswcをピックアップしていないので、それがピックアップしているプレーヤーの袋がフラッシュベースのものであり、 ..また、あなたがネイティブの空気のインストーラにアプリをパッケージ化すると、それは正常に実行されますか? – SushiHangover

答えて

0

を問題は、ということでした私は間違って使用していたplayerglobal.swc。 Flex SDKのダウンロードには、「プレーヤ」フレームワークと「AIR」フレームワークが付属しています。ネイティブ拡張を許可しない「プレーヤ」フレームワークに対して誤ってコンパイルしていました。私のコンパイルコマンドを変更すると、トリックが起こりました:

-compiler.include-libraries C:\Users\Me\Downloads\AIRSDK_Compiler\frameworks\libs\air\21.0\airglobal.swc 

ヒント@SushiHangover!

関連する問題