diff options
-rw-r--r-- | .qmake.conf | 2 | ||||
-rw-r--r-- | src/androidextras/jni/qandroidjnienvironment.cpp | 18 | ||||
-rw-r--r-- | src/androidextras/jni/qandroidjnienvironment.h | 1 |
3 files changed, 20 insertions, 1 deletions
diff --git a/.qmake.conf b/.qmake.conf index 1659af5..d4aef77 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -2,4 +2,4 @@ load(qt_build_config) DEFINES += QT_NO_FOREACH -MODULE_VERSION = 5.11.2 +MODULE_VERSION = 5.12.0 diff --git a/src/androidextras/jni/qandroidjnienvironment.cpp b/src/androidextras/jni/qandroidjnienvironment.cpp index 08f0c71..585c442 100644 --- a/src/androidextras/jni/qandroidjnienvironment.cpp +++ b/src/androidextras/jni/qandroidjnienvironment.cpp @@ -83,6 +83,19 @@ QT_BEGIN_NAMESPACE Returns the JNI Environment pointer. */ +/*! + \fn jclass QAndroidJniEnvironment::findClass(const char *className) + + Searches for \a className using all available class loaders. Qt on Android + uses a custom class loader to load all the .jar files and it must be used + to find any classes that are created by that class loader because these + classes are not visible in the default class loader. + + Returns the class pointer or null if is not found. + + \since Qt 5.12 + */ + QAndroidJniEnvironment::QAndroidJniEnvironment() : d(new QJNIEnvironmentPrivate) @@ -108,6 +121,11 @@ QAndroidJniEnvironment::operator JNIEnv*() const return d->jniEnv; } +jclass QAndroidJniEnvironment::findClass(const char *className) +{ + return QJNIEnvironmentPrivate::findClass(className, d->jniEnv); +} + static void clearException(bool silent) { QAndroidJniEnvironment env; diff --git a/src/androidextras/jni/qandroidjnienvironment.h b/src/androidextras/jni/qandroidjnienvironment.h index 654117b..4edf8f4 100644 --- a/src/androidextras/jni/qandroidjnienvironment.h +++ b/src/androidextras/jni/qandroidjnienvironment.h @@ -57,6 +57,7 @@ public: static JavaVM *javaVM(); JNIEnv *operator->(); operator JNIEnv*() const; + jclass findClass(const char *className); private: Q_DISABLE_COPY(QAndroidJniEnvironment) |