我想用JavaFXPorts和 Kotlin 代码构建一个 JavaFX Android 应用程序。是否可以在 JavaFXPorts 项目中使用 Kotlin?这是我的示例 Gradle(版本 5.6.4)项目:
注意:此代码的问题在于 Kotlin 运行时...有没有办法将所有内容捆绑在可执行 Jar 和 Apk 中?
.
??? app
? ??? src
? ? ??? android
? ? ? ??? AndroidManifest.xml
? ? ??? main
? ? ??? kotlin
? ? ??? com.example
? ? ??? App.kt
? ??? build.gradle.kts
??? gradle
? ??? wrapper
? ??? gradle-wrapper.jar
? ??? gradle-wrapper.properties
??? build.gradle.kts
??? gradlew
??? gradlew.bat
??? settings.gradle.kts
Run Code Online (Sandbox Code Playgroud)
./settings.gradle.kts
pluginManagement {
repositories {
gradlePluginPortal()
jcenter() …
Run Code Online (Sandbox Code Playgroud) 我尝试在Android上运行一个简单的JavaFX应用程序.因此,我使用gradle来阅读javafxports入门指南来构建应用程序,但我被困在某个地方.我可以使用installDebug
Eclipse中的gradle任务在Android设备上构建和安装应用程序,但是,当我启动应用程序时,我得到一个黑屏.当我解压缩.apk
文件时,它不包含JavaFX应用程序的jar文件.我假设apk应该包含JavaFX应用程序jar文件,但我不知道如何将其包含在.apk
.
我还尝试使用gradle来构建JavaFX应用程序本身(jar文件),这很好.但是,我不知道把这个jar文件放在哪里可以包含在apk文件中.我读过我要把它放到一个dist
目录中,但我认为这只会在Netbeans中使用吗?我正在使用Eclipse gradle集成来构建项目.
这是我试过的.由于JavaFX应用程序就像HelloWorld示例应用程序一样简单,并且像魅力一样工作,我希望在我的gradle构建文件中出现配置错误.
build.gradle - 构建apk
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'android'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'me.tatarka:gradle-retrolambda:2.5.0'
classpath 'com.android.tools.build:gradle:1.0.1'
}
}
repositories {
jcenter()
}
ext {
dalvikSdkHome = getProjectProperty('dalvikSDK')
dalvikSdkLib = dalvikSdkHome + '/rt/lib'
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
dexOptions {
preDexLibraries = false
}
sourceSets {
main {
jniLibs.srcDir file("${dalvikSdkLib}/")
assets.srcDirs = ['assets']
}
}
lintOptions {
abortOnError false
} …
Run Code Online (Sandbox Code Playgroud) 我刚刚开发了一个JavaFx应用程序,它使用RXTX库进行串行通信,将来会使用Bluecove进行蓝牙处理.据我所知,有一些方法可以在Android设备上运行JavaFx应用程序,所以我开始研究.
第一个选项是使用Android应用程序"Java Manager"运行"jar"打包应用程序.这里的问题是我不知道如何处理外部库,因为在Android设备上没有可以放置它们的标准JVM.我发现这个项目" http://v-lad.org/projects/gnu.io.android/ ",但似乎它面向Android应用程序.
所以当我找到" http://javafxports.org/ "时,我试图用它做我的第一步.这个项目似乎是我需要的,但我是Android的新手,我发现文档有点令人困惑,所以我不知道从哪里开始.而且,我仍然不确定我是否可以使用这种方法在Android中使用这些Java库.
有谁知道我假装是否可行?在那种情况下,我应该遵循哪些步骤?
我正试图在我的新RaspBerry pi上运行Esemble8.jar.我遵循了这个教程:http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/RaspberryPiFX/raspberryfx.html
我能够安装Java8,但是当我尝试运行Ensemble8.jar(或任何其他小型JavaFx应用程序)时,我遇到了这个错误:
Error: Could not find or load main class ensemble.EnsembleApp
Run Code Online (Sandbox Code Playgroud)
我的PATH是正确的; 你有什么建议来解决这个问题吗?
谢谢!
Just a quick question. I made a JavaFX application and I want to get it working on Android. So far the only way I found to get this working is to use Gluon Mobile (JavaFXPorts). However, the free version has a nag screen that pops up every time you open the app, prompting you to buy a license.
Is this screen also going to be popping up for users who download the app in the app store or just for …
请有人能为我提供简单的一步一步的说明,让javafx在raspberry pi 3上工作.我已经整天尝试将javafx添加到raspberry pi 3中,我仍然得到错误:
"在活动的JDK中找不到JavaFX部署库"
在我尝试构建的netbeans中,即使我的代码中没有显示错误.
我在这里下载了javaFX嵌入式sdk的gluon社区版本:http://gluonhq.com/labs/javafxports/downloads/ 并按照这里的说明操作:http://docs.gluonhq.com/javafxports/
请任何人都可以提供任何关于让javaFX在raspberry pi 3上工作的简单建议!我对linux很新
我有Textfield,我想在我的Android设备上复制它的内容.
如果我将它作为Windows桌面应用程序运行,我可以通过可能的操作选择right click
我得到的文本popup menu
.
反正有没有popup menu
在Android上得到这个?
我需要在Raspberry Pi(RASPBIAN JESSIE)上运行JavaFX项目.该项目包括WebView和MediaView/MediaPlayer的使用.由于Oracle在ARM平台上不支持JavaFX,我尝试使用Gluon的JavaFX端口(JavaFX Embedded SDK 8.60.8).WebView几乎完美地工作.但是,当我想使用MediaPlayer/MediaView播放视频时,我得到了例外:
Error in GstPipelineFactory: can't find element for factory named qtdemux
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)
Caused by: MediaException: UNKNOWN : com.sun.media.jfxmedia.MediaException: Could not create player! : com.sun.media.jfxmedia.MediaException: Could not create player!
at javafx.scene.media.MediaException.exceptionToMediaException(MediaException.java:146)
at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:511) …
Run Code Online (Sandbox Code Playgroud) 以上是我在Android上部署JavaFX的Gluon项目.我的问题是我无法引用android.jar.怎么解决这个?
的build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b9'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
}
mainClassName = 'com.raes.Main'
jfxmobile {
android {
manifest = 'src/android/AndroidManifest.xml'
}
ios {
infoPList = file('src/ios/Default-Info.plist')
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个javafx.scene.image.Image类的接口.我必须实现它并创建ImageView.那么,如何将JavaFx添加到我的Adnroid Studio项目中以及如何在我的活动中执行ImageView或其他Image元素?
User.java
import javafx.scene.image.Image;
public interface User
{
String getName();
int getId();
Image getIcon();
}
Run Code Online (Sandbox Code Playgroud) javafxports ×10
javafx ×8
android ×6
java ×5
javafx-8 ×3
gradle ×2
javafx-2 ×2
raspberry-pi ×2
arm ×1
gluon ×1
gluon-mobile ×1
kotlin ×1
rxtx ×1