SQLlite/Android に UDF を追加するにはSQLite に拡張機能をロードするには? myfunc.cで行った「不正アクセス」を防ぐために、最初にsqlite3_enable_load_extensionを実行する必要があります
#include <sqlite3.h>
#include <jni.h>
#include <stdlib.h>
jstring
Java_com_test_abc_SQLiteOpenHelper_enableExtension(JNIEnv* env, jobject thiz, sqlite3 *db)
{
sqlite3_enable_load_extension(db, 1); //errorline, without any infos
return (*env)->NewStringUTF(env, "enableExtension done");
}
ジャワ
package com.test.abc;
....
public class MyOpenHelper extends SQLiteOpenHelper {
...
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
enableExtension(db);
}
public native String enableExtension(SQLiteDatabase db);
}
成功せずに。Java から C への JNI 呼び出しは、エラーラインなしでは機能しません。ここで何がうまくいかないのか、誰にも手がかりがありますか? コード例で最高。