J2ObjC の JRE エミュレーション ライブラリは Xcode を使用して構築でき、Xcode プロジェクトのサブプロジェクトとして含めることができます。これにより、ライブラリのビルドに使用する設定を管理できるようになり、ライブラリをプロジェクトに最適な状態で利用できます。
ソースコードをダウンロードする
次のいずれか: - 現在のソースバンドルをダウンロードして、ローカル ディレクトリに upzip します。または - 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
を開きます。以下のフォルダがあります。
- クラス: Java ソースファイルの変換では作成されないコア JRE エミュレーション クラスのセット。
- jre_emul_tests: Xcode 内でビルドおよび実行される単体テストのセット。これには、変換された JUnit テストは含まれていません。これは、
jre_emul
ディレクトリのmake test
を使用してコマンドラインからビルドおよび実行します。 - Transpiled Classes: JRE ライブラリの Java ソースファイルを変換して作成されたファイルです。注:
- Xcode は、欠落しているファイルを赤色でマークします。これらのファイルはビルド中に作成されるため、プロジェクトがビルドされるまで最初はすべて赤色になります。
- JRE エミュレーション ライブラリには定期的に新しいクラスを追加しているため、このリストが最新でない可能性があります。その場合は、このフォルダを右クリックして [Add Files to JreEmulation.xcodeproj] をクリックし、
jre_emul/build_result/Classes
とそのサブディレクトリから新しい.m
ファイルと.h
ファイルを追加します。
JreEmulation プロジェクトをビルドするには、jre_emul
ターゲットを選択して、Xcode の [Run] ボタンをクリックします。単体テストをビルドして実行するには、[実行] ボタンの横にある下矢印をクリックし、[テスト] を選択します。
JreEmulation プロジェクトをプロジェクトに追加する
- 左側のプロジェクト ナビゲーション パネルでプロジェクトを右クリックし、[プロジェクト名にファイルを追加] を選択します。
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 プロジェクトがビルドされます。