Si può già provare il plugin JavaFXPorts. È in continuo sviluppo, ma le versioni recenti sono abbastanza mature da poter essere utilizzate senza problemi.
Dai un'occhiata ai requisiti di base per iniziare here. Avrai bisogno degli strumenti JDK8u40 +, Gradle 2.2+, Android SDK e Android Build.
Una volta che hai tutto pronto, puoi provare lo samples.
Inoltre, suggerisco di dare un'occhiata a Gluon-plugin per NetBeans. Fondamentalmente creerà per te un nuovo progetto JavaFX vuoto, e sarai in grado di costruirlo e distribuirlo sul desktop, su Android e su piattaforme iOS.
Dai un'occhiata alla file 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.**.*' ]
}
}
Prima di tutto, non vi resta che aggiornare la versione del plug-in. Controllare here per l'ultimo: 1.0.0-b8.
Crea ed esegui sul desktop o esegui le attività come androidInstall per generare l'apk e distribuirlo sul tuo cellulare Android.
Una volta testato, e tutto funziona correttamente, è possibile iniziare ad aggiungere il codice del progetto.
E tornando alla tua domanda, sì, puoi aggiungere qualsiasi vaso di terze parti al progetto.
Fondamentalmente è sufficiente aggiungere la dipendenza dal file gradle. È possibile utilizzare compile
o runtime
con file locali o da repository esterni:
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.**.*' ]
}
}
Nota è possibile aggiungere le dipendenze che solo vengono aggiunti a una singola piattaforma, come androidCompile
o androidRuntime
.
Poiché l'apk verrà eseguito su Dalvik VM, sono consentite solo le funzionalità di Java 7. Puoi usare lambdas, dato che il plugin usa il progetto Retrolambda internamente sul tuo codice. Essere consapevoli del fatto che non è applicato sui barattoli aggiunti.
Come esempio di utilizzo di jar sul progetto, è possibile utilizzare la libreria open source Gluon-Charm-Down, che già fornisce l'accesso ad alcuni servizi nativi sul dispositivo, come la memoria locale o il 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'
}
In realtà, con il plugin jfxmobile e questa biblioteca, la 2048FX gioco è stato portato con successo per Android (Google Play) e iOS (Apple Store).