Mac Mojave(10.14.3)にFlash Builderを再インストールしたら起動しなくなってしまったので、その復旧作業をメモしておきます。
理由としてはJavaのバージョンの違いで、Flash BuilderがJava6を前提としているのに対してウチのMacはJava8なので、Flash BuilderがJava8で動くように設定を変えてやる必要があるという次第です。
こんなもん数年前から問題が報告されていて、その対応も修正パッチを当てる程度で終わることなのに、ずーっと放置されている。
Adobeという企業のやる気の無さというかFlash Builderに対する「サポート終了」感は正直ひどい。
フリーウェアならそれでも構わないけど、未だに安くない値段で販売しているくせに放置なんだぜ。
さて。
作業としては 昔作った Adobe AIR のアプリをメンテしようとしたら、リリースビルドが出来ずに苦労した件 – inosyanのブログ の「Javaのバージョンをあげる」に書かれている通りでOKです。
こうした情報はリンク先が消滅すると失われてしまうので、保険の意味で自分のブログに残しておこうというのが今回の目的です。
まずは環境変数JAVA_HOMEを設定します。
~/.bash_profileに
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_xx.jdk/Contents/Home
を追加、もしくは記述変更。
“jdk1.8.0_xx.jdk”は使用中のJavaのバージョンに対応するので、
java -version
で調べて、それに応じた記述を行う。
次に、先ほどのJAVA_HOMEに以下のフォルダを作成。 /Library/Java/JavaVirtualMachines/jdk1.8.0_xx.jdk/Contents/Home/bundle/Libraries
ここにシンボリックリンクを作る。
sudo ln -s \ /Library/Java/JavaVirtualMachines/jdk1.8.0_xx.jdk/Contents/Home/jre/lib/server/libjvm.dylib \ /Library/Java/JavaVirtualMachines/jdk1.8.0_xx.jdk/Contents/Home/bundle/Libraries/libserver.dylib
それから、
/Library/Java/JavaVirtualMachines/jdk1.8.0_xx.jdk/Contents/Info.plist
の<key>JVMCapabilities<key>を探し
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>CommandLine</string>
</array>
と書き換える。
これでJavaの方の設定は終わり。
次はFlash Builder本体の設定を書き換える。
/Applications/Adobe Flash Builder 4.7/Adobe Flash Builder 4.7.app を右クリックで「パッケージの内容を表示」。
Contents/MacOS/Adobe Flash Builder 4.7.ini をテキストエディタ等で開いて、最後に以下を追加
-Djava.library.path=../../../eclipse/plugins/com.adobe.flexide.nativelibs_4.7.0.349722/os/macosx/:../../../eclipse/plugins/com.adobe.flexide.amt_4.7.0.349722/os/macosx/:../../../eclipse/plugins/com.adobe.flexbuilder.utils.osnative_4.7.0.349722/os/macosx/
あとはPCを再起動すればOKです。
追記
以上でFlash Builderは起動したものの、「プロジェクトのプロパティ > Flex ビルドのパッケージ化」を開こうとする、もしくは「リリースビルドの書き出し」ボタンをクリックするとアプリが落ちる。
解決策は https://discuss.as3lang.org/t/solution-to-flash-builder-4-7-crash-on-mac-os-10-13-high-sierra/1163 にありますが
- http://download.adobe.com/pub/adobe/flashplayer/fb.zip をダウンロード
- 解凍して得られる2つのjarファイルを “/Applications/Adobe Flash Builder 4.7/eclipse/plugins/” にコピー(もしすでにファイルがあっても上書きする)
これで直りました。
さらに追記
特にエラーがあるというわけではないのにビルドに失敗するようになった(Flash Builderを再起動するとビルドに成功する)ので調べたところ、”/Applications/Adobe Flash Builder 4.7/Adobe Flash Builder 4.7.app/Contents/MacOS/Adobe Flash Builder 4.7.ini” に以下を追加することで直りました。
-Djava.util.Arrays.useLegacyMergeSort=true