I need to do database operations from C++ layer using ndk in Android.
but while opening database using sqlite3_open, I am getting "unable to open database file" error.
I am getting database path in Java using:
String sqliteDir = getApplicationContext().getDatabasePath("MyDb").getPath();
C++ code:
int rc = sqlite3_open(dbPath, _db);
if(rc != SQLITE3_OK) LOGD("Can't open database: %s with path %s\n", KSqlite3::sqlite3_errmsg(_db), dbPath);
else LOGD(" Opened database successfully %s \n", sqlite3_errmsg(_db));
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myMod
LOCAL_SRC_FILES := myMod.cpp sqlite3.c
LOCAL_LDLIBS := -llog
#Includes various C++ libraries
include $(BUILD_SHARED_LIBRARY)
Error Message: Can't open database: unable to open database file with path /data/data/com.packageName/databases/MyDb
/?com.packageName/databases/exists. I don't thinkgetDatabasePath()creates it if it's not there.