Java2OP は Android 向けネイティブブリッジファイルジェネレータです。
簡単に言えば Android の SDK 用ヘッダを生成してくれるツールです。これにより、Android の API を呼び出す事ができるようになります。
[Java2OP.exe - Android 向けネイティブ ブリッジ ファイル ジェネレータ (DocWiki)]
http://docwiki.embarcadero.com/RADStudio/ja/Java2OP.exe_-_Android_%E5%90%91%E3%81%91%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96_%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8_%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB_%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AC%E3%83%BC%E3%82%BF
XE7 の Java2OP は後で提供されたので、別途 DL する必要があります。XE8 では $(BDS)\bin\Converters\Java2OP の中にあります。
[Java2OP (XE7)]
http://cc.embarcadero.com/item/30007
また、Appmethod 1.15 用に Java2OP が提供されているので、XE5 / XE6 ユーザーはこちらを DL して使う事もできます。
[Java2OP (Appmethod 1.15)]
http://altd.embarcadero.com/download/appmethod/1.15/Java2OP_092514.zip
Java2OP を使うには、JDK へのパスを通す必要があります。環境変数 PATH に JDK へのパスを設定してください。たとえば以下のようになります。
…;C:\Program Files\Java\jdk1.7.0_25\bin
環境変数を変更したら、念のために Windows を再起動あるいはログオフして再ログインしてください。
XE8 付属の Java2OP はそのままでは使えません。Android SDK の中にある android.jar を bootclasses.jar にリネームしたものを Java2OP.exe と同じフォルダに置く必要があります。この android.jar は SDK の API レベルによって複数存在しますので、RAD Studio でお使いのバージョンと合わせておくといいでしょう。
加えて、XE8 では bootclasses.xml が必要になります。こちらも Java2OP.exe と同じフォルダに置く必要があります。これは android.jar のカタログのようなものですが、自前で記述しなくてはなりません。面倒な方は XE7 または Appmethod 1.15 の Java2OP 付属の android-19.xml を bootclasses.xml にリネームしてお使いください (但し API レベル 20 以上で実装されたクラスを指定できない事になります)。
Java2OP のコマンドラインオプションは DocWiki にある通りですが、-unit オプションには気をつけてください。ここに拡張子を含める必要はありません。
-unit C:\temp\android.abc.pas
このように指定すると、ユニットは C:\temp に出力されますが、ファイル名は android.abc.pas.pas となってしまいます。
以下はブリッジファイル出力用のコマンドラインの例です (XE8)。
cd "%ProgramFiles(x86)%\Embarcadero\Studio\16.0\bin\converters\java2op" java2op -classes android.nfc.* -unit C:\temp\android.nfc
NFC API 関連のブリッジファイルを android.nfc.pas として C:\temp へ出力します。
|