Мое приложение Android использует базу данных через API, упакованный во внешний JAR. Поскольку JAR открывает / обновляет / закрывает файл базы данных SQLite, нужно ли мне убедиться, что он использует собственное имя пакета вместо моего собственного? Я получаю ошибки, когда не удается открыть файл базы данных, и я угадываю его, потому что имя пакета, которое я им говорю, неверно: должно ли оно использовать имя пакета в файле JAR?
Код, открывающий базу данных:
public AndroidSQLiteDataStore() throws SQLiteException {
Logger logger = LoggerFactory.getDefaultInstance();
logger.information(TAG, "OPEN CONNECTION TO DATABASE " + Config.BN_ANDROID_DB_PATH);
try {
this.db = SQLiteDatabase.openDatabase(Config.ANDROID_DB_PATH, null, SQLiteDatabase.CREATE_IF_NECESSARY | SQLiteDatabase.OPEN_READWRITE);
} catch (SQLiteException e) {
logger.error(TAG, e.toString());
throw e;
}
}
Также пробовал ковыряться с раковиной:
$ adb shell
$ ls
sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
logo.rle
init.sapphire.rc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
$ cd data
$ ls
opendir failed, Permission denied
$