Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Do not see Java class. Why?

Do not see Java class. Why?

Scheduled Pinned Locked Moved Solved Mobile and Embedded
3 Posts 2 Posters 542 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bogong
    wrote on last edited by bogong
    #1

    Hello all!

    I am developing very simple application. Default from Qt Quick template within simple Java class:

    package package.test.usingjava_v1;
    
    public class MyJavaClass {
    
        public static int mTest(int inNumber) {
    
    	return inNumber;
        }
    }
    

    in *.pro file

    android {
    
        QT += androidextras
    
        ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
    
        OTHER_FILES += \
    	android/MyJavaClass.java
    }
    

    in *.cpp

    QAndroidJniEnvironment* oJNIEnvironment = new QAndroidJniEnvironment();
    	jclass oMyJavaClass = oJNIEnvironment->findClass("package/test/usingjava_v1/MyJavaClass");
    	if(oMyJavaClass == NULL) {
    		qDebug() << "MyJavaClass class not found";
    	}
    

    When trying to run see this error:

    W System.err: java.lang.ClassNotFoundException: Didn't find class "package.test.usingjava_v1.MyJavaClass" on path: DexPathList[[zip file "/data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/base.apk"],nativeLibraryDirectories=[/data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/lib/x86, /data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/base.apk!/lib/x86, /system/lib, /system_ext/lib]]
    W System.err: 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
    W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    W System.err: 	at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
    W System.err: 	at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:620)
    W System.err: 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
    W System.err: 	at java.lang.Thread.run(Thread.java:923)
    W System.err: java.lang.ClassNotFoundException: Didn't find class "package.test.usingjava_v1.MyJavaClass" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib, /system_ext/lib]]
    W System.err: 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
    W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    W System.err: 	at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
    W System.err: 	at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:620)
    W System.err: 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
    W System.err: 	at java.lang.Thread.run(Thread.java:923)
    

    Why is that? What am I missing?

    raven-worxR 1 Reply Last reply
    0
    • B bogong

      Hello all!

      I am developing very simple application. Default from Qt Quick template within simple Java class:

      package package.test.usingjava_v1;
      
      public class MyJavaClass {
      
          public static int mTest(int inNumber) {
      
      	return inNumber;
          }
      }
      

      in *.pro file

      android {
      
          QT += androidextras
      
          ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
      
          OTHER_FILES += \
      	android/MyJavaClass.java
      }
      

      in *.cpp

      QAndroidJniEnvironment* oJNIEnvironment = new QAndroidJniEnvironment();
      	jclass oMyJavaClass = oJNIEnvironment->findClass("package/test/usingjava_v1/MyJavaClass");
      	if(oMyJavaClass == NULL) {
      		qDebug() << "MyJavaClass class not found";
      	}
      

      When trying to run see this error:

      W System.err: java.lang.ClassNotFoundException: Didn't find class "package.test.usingjava_v1.MyJavaClass" on path: DexPathList[[zip file "/data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/base.apk"],nativeLibraryDirectories=[/data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/lib/x86, /data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/base.apk!/lib/x86, /system/lib, /system_ext/lib]]
      W System.err: 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
      W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
      W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
      W System.err: 	at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
      W System.err: 	at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:620)
      W System.err: 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
      W System.err: 	at java.lang.Thread.run(Thread.java:923)
      W System.err: java.lang.ClassNotFoundException: Didn't find class "package.test.usingjava_v1.MyJavaClass" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib, /system_ext/lib]]
      W System.err: 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
      W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
      W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
      W System.err: 	at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
      W System.err: 	at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:620)
      W System.err: 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
      W System.err: 	at java.lang.Thread.run(Thread.java:923)
      

      Why is that? What am I missing?

      raven-worxR Offline
      raven-worxR Offline
      raven-worx
      Moderators
      wrote on last edited by
      #2

      @bogong
      where exactly did you put the java file inside the "$$PWD/android" directory?

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      B 1 Reply Last reply
      0
      • raven-worxR raven-worx

        @bogong
        where exactly did you put the java file inside the "$$PWD/android" directory?

        B Offline
        B Offline
        bogong
        wrote on last edited by
        #3

        @raven-worx Solution found there was troubles with class location. It wasn't in ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android/src. Forgotten about src. The example published here https://github.com/ArboreusSystems/arboreus_examples/tree/master/qt/UsingJava

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved