有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java libQt5AndroidExtras。所以没找到

我正在用Qt编写一个移动应用程序,需要进行一些特定于平台的呼叫,比如请求电池电量。因此,从Qt级别,我试图调用Android SDK级别。根据我在互联网上收集的信息,我应该做以下几点

我用要调用的代码创建了一个小Java类:

// AndroidService.java
package path.to.java;

public class AndroidService {
    public static int doSomething() {
        System.out.println("Android says hi");
        return 1;
    }
}

接下来,在我的Cpp代码中,我使用Qt的Android JNI库对此进行了调用:

// 安卓service.cpp
#include <QtAndroidExtras>

void doSomething() {
    QAndroidJniObject::callStaticMethod<int>("path.to.java.AndroidService", "doSomething");
}

我在我的主要函数中称之为

最后,我在我的报告中添加了以下内容。专业文件:

// project.pro
安卓 {
    QT += 安卓extras
    SOURCES += mobileservice/安卓service.cpp
    OTHER_FILES += mobileservice/安卓/src/path/to/java/AndroidService.java
    ANDROID_PACKAGE_SOURCE_DIR=$$_PRO_FILE_PWD_/mobileservice/安卓
}

编译后,这将生成无错误的代码。但是,在运行应用程序时,我遇到以下堆栈跟踪崩溃:

E/AndroidRuntime( 7184): java.lang.UnsatisfiedLinkError: dlopen failed: library "libQt5AndroidExtras.so" not found
E/AndroidRuntime( 7184):    at java.lang.Runtime.loadLibrary(Runtime.java:371)
E/AndroidRuntime( 7184):    at java.lang.System.loadLibrary(System.java:988)
E/AndroidRuntime( 7184):    at org.qtproject.qt5.安卓.bindings.QtActivity.loadApplication(QtActivity.java:252)
E/AndroidRuntime( 7184):    at org.qtproject.qt5.安卓.bindings.QtActivity.startApp(QtActivity.java:655)
E/AndroidRuntime( 7184):    at org.qtproject.qt5.安卓.bindings.QtActivity.onCreate(QtActivity.java:895)
E/AndroidRuntime( 7184):    at 安卓.app.Activity.performCreate(Activity.java:6500)
E/AndroidRuntime( 7184):    at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120)
E/AndroidRuntime( 7184):    at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:3072)
E/AndroidRuntime( 7184):    at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3218)
E/AndroidRuntime( 7184):    at 安卓.app.ActivityThread.access$1000(ActivityThread.java:198)
E/AndroidRuntime( 7184):    at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1676)
E/AndroidRuntime( 7184):    at 安卓.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 7184):    at 安卓.os.Looper.loop(Looper.java:145)
E/AndroidRuntime( 7184):    at 安卓.app.ActivityThread.main(ActivityThread.java:6837)
E/AndroidRuntime( 7184):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 7184):    at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 7184):    at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
E/AndroidRuntime( 7184):    at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

尽管将安卓extras库添加到我的。pro文件,应用程序似乎无法找到它。我错过什么了吗


共 (0) 个答案