私は、(私は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\
...
'adl'のようなサウンドは、間違った' Playerglobal.swc'または間違ったバージョンを拾っています。 – SushiHangover
私は '-compiler.include-libraries C:\ Users \ Me \ Downloads \ AIRSDK_Compiler \ frameworks \ libs \ player \ 21.0 \ playerglobal.swc'で指定しています。あなたは別のバージョンを指定すると助けになると思いますか?どのバージョンを使用するのかはどのように分かりますか? –
私は21.0ディレクション以降、あなたがコンパイルしているプレイヤーが正しいプレイヤーであると「仮定」しています。私は 'adl'について話している。それは21.0との間で実行されていますか?つまり、#-1079エラーを修正する '-runtime'オプションを設定していますか?通常、私はそのエラーを見るたびに、 'adl'は間違ったバージョンから来ています、そして/またはそれは正しいプレーヤーswcをピックアップしていないので、それがピックアップしているプレーヤーの袋がフラッシュベースのものであり、 ..また、あなたがネイティブの空気のインストーラにアプリをパッケージ化すると、それは正常に実行されますか? – SushiHangover