J2ObjC の JRE エミュレーション ライブラリは、Xcode を使用してビルドし、Xcode プロジェクトのサブプロジェクトとして含めることができます。これにより、そのライブラリのビルドに使用する設定を管理して、プロジェクトで最適に使用できるようになります。
ソースコードをダウンロードする
次のいずれかを実行します。 - 現在のソース バンドルをダウンロードしてローカル ディレクトリに zip 圧縮します。 - git を使用してソースコード ツリーのクローンを作成します。ローカルソース チェックアウトの利点は、J2ObjC プロジェクトの最新の変更を把握しやすいことですが、バージョン管理システムの知識が必要です。
ソースコードはローカル システムのどこにでも置くことができます。このドキュメントでは /usr/local/src/j2objc
を使用しますが、このパスは自由に変更してください。
Build Tools をインストールする
J2ObjC をビルドするには、Xcode のコマンドライン ツールと Apache Maven をインストールする必要があります。次のヒントを参考にしてください。
Mac OS X や Xcode のバージョンが変更されるとインストールの内容が変わることが多いため、これらの検索は静的ページではなく Google 検索で行われます。
プロジェクトのビルド
J2ObjC のビルドの手順に沿って操作します。コマンドライン ビルドは省略可能ですが、Xcode 内で呼び出すよりもデバッグが簡単です。
JRE をデバッグするときは、クリーンビルドを実行する前に、jre_emul/environment.mk の先頭に次の行を追加することをおすすめします。
DEBUGGING_SYMBOLS=YES
OPTIMIZATION_LEVEL=0
JreEmulation Xcode プロジェクト
Xcode で /usr/local/src/j2objc/jre_emul/JreEmulation.xcodeproj
を開きます。フォルダには次のものが含まれます。
- クラス: 主要な JRE エミュレーション クラスのセット。Java ソースファイルを変換することで作成されません。
- jre_emul_tests: Xcode 内でビルド、実行される単体テストのセット。変換された JUnit テストは含まれません。これらはコマンドラインから
jre_emul
ディレクトリでmake test
を使用してビルドおよび実行されます。 - トランスパイルされたクラス: JRE ライブラリの Java ソースファイルを変換して作成されるファイルです。メモ:
- Xcode は欠落しているファイルを赤でマークします。これらのファイルはビルド中に作成されるため、プロジェクトがビルドされるまでは初期状態で表示されます。
- 新しいクラスは JRE エミュレーション ライブラリに定期的に追加されているため、このリストは古い可能性があります。その場合は、このフォルダを右クリックして [Add Files to JreEmulation.xcodeproj] をクリックし、
jre_emul/build_result/Classes
とそのサブディレクトリから新しい.m
ファイルと.h
ファイルを追加します。
JreEmulation プロジェクトをビルドするには、jre_emul
ターゲットを選択し、Xcode の [Run] ボタンをクリックします。単体テストをビルドして実行するには、[Run] ボタンの横にある下矢印をクリックして [Test] を選択します。
JreEmulation プロジェクトをプロジェクトに追加する
- 左側の [Project Naviagator] パネルでプロジェクトを右クリックして、[Add Files to Project Name] を選択します。
jre_emul/JreEmulation.xcodeproj
ファイルを見つけて、[Add] ボタンをクリックします。- プロジェクトをクリックしてメイン ターゲットを選択し、ターゲットの [Build Phases] タブを選択します。
- [Target Dependencies] セクションを開き、[+] ボタンをクリックして
jre_emul
ターゲットを選択します。 - [Link Binary With Libraries] セクションを開き、[+] ボタンをクリックして
libjre_emul.a
を選択します。 - ターゲットの [Build Settings] タブを選択し、[Header Search Paths] を見つけて、
/usr/local/src/j2objc/dist/include
ディレクトリへのパスを追加します(実際の場所に置き換えてください)。
プロジェクトがビルドされると、必要に応じて JreEmulation プロジェクトがビルドされます。