我正在尝试在netbeans上使用gluon插件使用javafxports。 JavaFx可在android上运行,但如果我包括jsoup这样的jar,则在android上只会出现黑屏,但是在Desktop上一切正常。
我尝试将jsoup作为gradle在线依赖项以及本地jar文件都包括在内。我在另一个名为Result.java的项目中使用了一个类,该类导入了jsoup。
--------我的build.gradle的修改部分
dependencies {
compile 'com.gluonhq:charm:5.0.2'
compile fileTree(dir: 'libs', include: ['*.jar']) //jsoup-1.12.1.jar
}
jfxmobile {
downConfig {
version = '3.8.6'
// Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
plugins 'connectivity', 'display', 'lifecycle', 'statusbar', 'storage'
}
android {
manifest = 'src/android/AndroidManifest.xml'
androidSdk = '/home/oreo/Android/sdk/'
compileSdkVersion =29
buildToolsVersion ="29.0.0"
}
}
------- Result.java使用的导入
import java.io.*;
import java.util.*;
import org.jsoup.*;
import org.jsoup.nodes.*;
import org.jsoup.select.*;
------- Main.java
package com.ignoux;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.stage.Screen;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args){
launch(args);
}
@Override
public void start(Stage primaryStage) {
GridPane root=new GridPane();
Label l=new Label("Text will be here");
Button b=new Button("Fetch");
b.setOnAction((ActionEvent e) -> {
l.setText(Result.getUrlList());
});
root.addRow(0, b);
root.addRow(1, l);
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.setTitle("JavaFX WebView Example");
Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds();
//set Stage boundaries to visible bounds of the main screen
primaryStage.setX(primaryScreenBounds.getMinX());
primaryStage.setY(primaryScreenBounds.getMinY());
primaryStage.setWidth(primaryScreenBounds.getWidth());
primaryStage.setHeight(primaryScreenBounds.getHeight());
primaryStage.show();
}
}
程序仅用于学习使用相同的Java库(如果可能的话,还可以使用ios)创建桌面和android应用。我以前尝试过hello world按钮,它可以工作,但是将其修改为包含jar则无法正常工作。我只想在按下按钮时将Result类输出打印在标签中,以检查其工作方式。
请帮助我。