0

現在、Mac OS X で実行中のアプリケーション クラッシュに関連するバグを調べています。クラッシュは、Mac OS X 10.5 Update 1 (64 ビット モード) で Java 6 を使用している場合にのみ発生するようです。この問題は、32 ビットの Mac Java インストールでは発生しません。

私がグーグルで読んだことから、この問題は、アプリケーションがQuickTimeライブラリを使用しているという事実に関連しているようです.QuickTimeライブラリは、 64ビットモードで実行されているJava 6に問題があるようです.

QuickTime for Java は 32 ビットの Carbon ライブラリに基づいており、しばらくの間、実質的に「メンテナンス モード」になっています。残念ながら、誰かが JNI (または JNA?) コードを動作させることに成功したため、QTKit を使用して問題を回避するのは困難です。

関連資料:

4

2 に答える 2

0

アプリ バンドルの JavaApplicationStub ファイルは、ライブラリがサポートしていない x86_64 を実行するように構成されていました。これは明らかに、Java の最新リリースの新機能です。

この問題を解決するには、lipo ツールを使用します。これが私がしたことです:

リポ -x86_64 JavaApplicationStub を削除 -JavaApplicationStub を出力

さらに、LSArchitecturePriority キーを info.plist に追加することもお勧めします。主なプロパティに次を追加しました。

LSArchitecturePriority i386 ppc

これにより、許可されたアーキテクチャが優先順位で指定されます。

http://discussions.apple.com/thread.jspa?messageID=9706490

于 2009-07-09T19:01:42.430 に答える
0

私の経験では、ネイティブ 32 ビット ライブラリは Mac Java 6 ではまったくロードできません。一方、Mac OS X では Java 5 がデフォルトのままであるため、ネイティブ ライブラリを必要とするアプリケーションには Java 5 を使用しています。私の Mac 顧客は Java 5 を使用しています。

これはおそらくあまり役​​立つ答えではないことは承知していますが、誰かが Java 6 で 32 ビットのネイティブ ライブラリを使用する方法を教えてくれなければ、この否定的な答えは私にできる最善のことです。

于 2009-07-08T23:48:57.670 に答える