C++でQtライブラリを用いてAndroid開発を行っています。
そこでどうしてもJavaのコードを使いたく思っています。
(Javaで開発すれば早い話なのですがまあそれは言わないでください、、、)
以下のようなコードを試しに書いてみたのですが、望んでいる答えが返ってきません。
(コピペではないので書き損じがあるかもですが)
//Java code
package com.hoge
public class TestClassJ{
static String fromNumber(int num){
string str;
str = String.valueOf(num);
return str;
}
==============================
//C++ code
void TestClassC::printNumber(){
QAndroidJniObject num = QAndroidJniObject::callStaticObjectMethod(
"com/hoge/TestClassJ",
"fromNumber",
"(I)Ljava/lang/String;",
10);
qDebug() << num.toString();
}
=============================
int main(int argc, char *argv[]){
QApplication app(argc, argv);
QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); TestClassC tst; tst.printNumber(); return app.exec();
}
===========================
"10"が返ってくるはずなのですが、""と何も返ってきません。
エラーでjava.lang.ClassNotFoundExceptionとでているので、
おそらくJavaのファイル自体見つけられてなさそうなのはわかるのですが、、、
どなたかご存知の方がいればお教えください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。