在 android 上使用 gluon-mobile 运行 apk 文件时出错

时间:2021-06-04 07:04:55

标签: java javafx gluon-mobile

我在用gluon-mobile写一些例子,使用awt的图片代码,安装apk后,运行报错。

我想把pdf文件的每一页都转换成Android上的图片,执行命令mvn -Pandroid client:buildmvn -Pandroid client:package并且mvn -Pandroid client:install成功,但是mvn -Pandroid client:run报错:

[INFO] Scanning for projects...
[INFO] 
[INFO] -----< com.gluonapplication:gluonmobile-multiviewprojectwithfxml >------
[INFO] Building >GluonMobile-MultiViewProjectwithFXML 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- client-maven-plugin:0.1.41:run (default-cli) @ gluonmobile-multiviewprojectwithfxml ---
[Fri Jun 04 14:39:55 CST 2021][INFO] ==================== RUN TASK ====================
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] --------- beginning of main
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] --------- beginning of system
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] V/GraalActivity(10188): onCreate start, using Android Logging v1
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] V/GraalActivity(10188): onCreate done
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] V/GraalActivity(10188): onStart
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] V/GraalActivity(10188): onStart done
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] V/GraalActivity(10188): onResume
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] V/GraalActivity(10188): onResume done
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] V/GraalActivity(10188): surfaceCreated for com.gluonhq.helloandroid.MainActivity@c041bbc
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] V/GraalActivity(10188): loading substrate library
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] --------- beginning of crash
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188): FATAL EXCEPTION: main
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188): Process: com.gluonapplication.gluonmobilemultiviewprojectwithfxml, PID: 10188
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "JNI_OnLoad_awt" referenced by "/data/app/com.gluonapplication.gluonmobilemultiviewprojectwithfxml-_0a-A9Uy6soKaDMg1FxUiA==/lib/arm64/libsubstrate.so"...
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at java.lang.Runtime.loadLibrary0(Runtime.java:1071)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at java.lang.System.loadLibrary(System.java:1667)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at com.gluonhq.helloandroid.MainActivity.surfaceCreated(MainActivity.java:104)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.SurfaceView.updateSurface(SurfaceView.java:828)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.SurfaceView$2.onPreDraw(SurfaceView.java:172)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1088)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3077)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1991)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8210)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1094)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.Choreographer.doCallbacks(Choreographer.java:917)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.Choreographer.doFrame(Choreographer.java:844)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1079)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.os.Handler.handleCallback(Handler.java:883)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.os.Handler.dispatchMessage(Handler.java:100)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.os.Looper.loop(Looper.java:238)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at android.app.ActivityThread.main(ActivityThread.java:7818)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at java.lang.reflect.Method.invoke(Native Method)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] E/AndroidRuntime(10188):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
[Fri Jun 04 14:39:57 CST 2021][INFO] [SUB] W/ActivityManager( 1697): setHasOverlayUi called on unknown pid: 10188

这是代码。

PDDocument document = null;
PDFRenderer pdfRenderer = null;
String path = Thread.currentThread().getContextClassLoader().getResource("").getPath();
try {
    File file = new File(path + "/pdf/daofa-5.pdf");
    document = PDDocument.load(file);
    System.out.println("totale pages----->" + document.getNumberOfPages());

    pdfRenderer = new PDFRenderer(document);
    BufferedImage bufferedImage = pdfRenderer.renderImage(1);
    int width = bufferedImage.getWidth();
    int height = bufferedImage.getHeight();
    System.out.println("width---->" + width);
    System.out.println("height---->" + height);


}catch (Exception e){
    e.printStackTrace();
}finally {
    if(document !=null){
        try {
            document.close();
            pdfRenderer = null;
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这是 pom.xml 文件。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.gluonapplication</groupId>
    <artifactId>gluonmobile-multiviewprojectwithfxml</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>>GluonMobile-MultiViewProjectwithFXML</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.release>11</maven.compiler.release>
        <javafx.version>15.0.1</javafx.version>
        <attach.version>4.0.11</attach.version>
        <client.plugin.version>0.1.41</client.plugin.version>
        <javafx.plugin.version>0.0.5</javafx.plugin.version>
        <pdfbox.version>2.0.21</pdfbox.version>
        <mainClassName>com.gluonapplication.GluonApplication</mainClassName>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>com.gluonhq</groupId>
            <artifactId>charm-glisten</artifactId>
            <version>6.0.6</version>
        </dependency>
        <dependency>
            <groupId>com.gluonhq.attach</groupId>
            <artifactId>display</artifactId>
            <version>${attach.version}</version>
        </dependency>
        <dependency>
            <groupId>com.gluonhq.attach</groupId>
            <artifactId>lifecycle</artifactId>
            <version>${attach.version}</version>
        </dependency>
        <dependency>
            <groupId>com.gluonhq.attach</groupId>
            <artifactId>statusbar</artifactId>
            <version>${attach.version}</version>
        </dependency>
        <dependency>
            <groupId>com.gluonhq.attach</groupId>
            <artifactId>storage</artifactId>
            <version>${attach.version}</version>
        </dependency>
        <dependency>
            <groupId>com.gluonhq.attach</groupId>
            <artifactId>util</artifactId>
            <version>${attach.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>${pdfbox.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>fontbox</artifactId>
            <version>${pdfbox.version}</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <version>1.49</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>Gluon</id>
            <url>https://nexus.gluonhq.com/nexus/content/repositories/releases</url>
        </repository>
    </repositories>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </plugin>

            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>${javafx.plugin.version}</version>
                <configuration>
                    <mainClass>${mainClassName}</mainClass>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.gluonhq</groupId>
                <artifactId>client-maven-plugin</artifactId>
                <version>${client.plugin.version}</version>
                <configuration>
                    <target>${client.target}</target>
                    <attachList>
                        <list>display</list>
                        <list>lifecycle</list>
                        <list>statusbar</list>
                        <list>storage</list>
                    </attachList>
                    <bundlesList>
                        <list>com.gluonapplication.views.primary</list>
                        <list>com.gluonapplication.views.secondary</list>
                    </bundlesList>
                    <reflectionList>
                        <list>com.gluonapplication.views.PrimaryPresenter</list>
                        <list>com.gluonapplication.views.SecondaryPresenter</list>
                    </reflectionList>
                    <mainClass>${mainClassName}</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>desktop</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <client.target>host</client.target>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>com.gluonhq.attach</groupId>
                    <artifactId>display</artifactId>
                    <version>${attach.version}</version>
                    <classifier>desktop</classifier>
                </dependency>
                <dependency>
                    <groupId>com.gluonhq.attach</groupId>
                    <artifactId>lifecycle</artifactId>
                    <version>${attach.version}</version>
                    <classifier>desktop</classifier>
                </dependency>
                <dependency>
                    <groupId>com.gluonhq.attach</groupId>
                    <artifactId>storage</artifactId>
                    <version>${attach.version}</version>
                    <classifier>desktop</classifier>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>ios</id>
            <properties>
                <client.target>ios</client.target>
            </properties>
        </profile>
        <profile>
            <id>android</id>
            <properties>
                <client.target>android</client.target>
            </properties>
        </profile>
    </profiles>
</project>

0 个答案:

没有答案
相关问题