すでに JavaFXPorts プラグインを試すことができます。継続的に開発されていますが、最近のバージョンは十分に成熟しており、問題なく使用できます。
ここで開始するための基本的な要件を確認してください。JDK8u40+、Gradle 2.2+、Android SDK、および Android ビルド ツールが必要です。
すべての準備が整ったら、サンプルを試すことができます。
また、NetBeansの Gluon-pluginもご覧になることをお勧めします。基本的に、新しい空の JavaFX プロジェクトが作成され、それをビルドして、デスクトップ、Android、および iOS プラットフォームにデプロイできます。
build.gradle
ファイルを見てください:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b4'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
}
mainClassName = 'org.test.javafxports.TestJavaFX'
jfxmobile {
ios {
forceLinkClasses = [ 'org.test.javafxports.**.*' ]
}
}
まず、プラグインのバージョンを更新するだけです。ここで最後の 1.0.0-b8 を確認してください。
デスクトップでビルドして実行するか、androidInstall などのタスクを実行して apk を生成し、Android モバイルにデプロイします。
テストが完了し、すべてが適切に機能するようになったら、プロジェクトのコードの追加を開始できます。
質問に戻ると、はい、サードパーティの jar をプロジェクトに追加できます。
基本的には、gradle ファイルに依存関係を追加するだけです。ローカル ファイルまたは外部リポジトリからcompile
またはを使用できます。runtime
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b8'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
}
dependencies {
compile files('lib/<your local jar>.jar')
compile 'org.glassfish:javax.json:1.0.4'
androidCompile 'org.glassfish:javax.json:1.0.4'
}
mainClassName = 'org.test.javafxports.TestJavaFX'
jfxmobile {
ios {
forceLinkClasses = [ 'org.test.javafxports.**.*' ]
}
}
androidCompile
やなど、1 つのプラットフォームにのみ追加される依存関係を追加できることに注意してくださいandroidRuntime
。
apk は Dalvik VM で実行されるため、Java 7 機能のみが許可されます。ただし、プラグインはコードの内部で Retrolambda プロジェクトを使用するため、ラムダを使用できます。追加された jar には適用されないことに注意してください。
プロジェクトで jar を使用する例として、Gluon-Charm-Down オープン ソース ライブラリを使用できます。これは、ローカル ストレージや GPS など、デバイス上のいくつかのネイティブ サービスへのアクセスを既に提供しています。
dependencies {
compile 'com.gluonhq:charm-down-common:0.0.1'
androidRuntime 'com.gluonhq:charm-down-android:0.0.1'
desktopRuntime 'com.gluonhq:charm-down-desktop:0.0.1'
}
実際、jfxmobile プラグインとこのライブラリにより、2048FXゲームは Android ( Google Play ) と iOS ( Apple Store ) に移植されました。