qt c++ コードから Android AccountManager を使用しようとしています。アカウントを追加するには、のインスタンスを作成したいので、次のandroid.accounts.Account
コードでこれを実行しようとしています:
jstring jUsername = QAndroidJniObject::fromString(username).object<jstring>();
jstring jPassword = QAndroidJniObject::fromString(password).object<jstring>();
jstring jType = QAndroidJniObject::fromString(type).object<jstring>();
qDebug()<<"Creating";
QAndroidJniObject accountObject("android.accounts.Account","(Ljava/lang/String;Ljava/lang/String;)V",jUsername,jType);
qDebug()<<"Inserting";
が作成された行で、コード segfaults が発生しますaccountObject
(「作成中」は出力されますが、「挿入中」は出力されません)。
JNI ERROR (app bug): accessed deleted global reference 0x100e46
JNI ERROR (app bug): accessed deleted global reference 0xe46
間違った署名でメソッドを呼び出すと、これが発生することを読みましたが、署名は正しいです (こちらを参照)。