Есть три способа добавить SQLite Android bindings в приложение:
По умолчанию SQLite Android bindings поддерживает Android API levels 16 и больше (версии Android 4.1 и выше). Есть также отдельная версия, которая поддерживает уровни API Android 9 и больше (версия 2.3 Android и выше). Пожалуйста, отметьте дополнительный шаг, вовлеченный в получение кода, если вы хотите использовать версию, совместимую с уровнем API 9.
Это самый прямой выбор. Файл "aar" подобен файлу jar, за исключением того, что он может содержать нативный код и собранные классы java. Файл aar для последнего выпуска SQLite, применимого с уровнями API 16 и выше, доступен здесь.
Есть два шага, вовлеченные в добавление aar-файла к проекту Android Studio:
"File" -> "New" -> "New Module..."
и затем
выбирая "Import JAR/AAR Package"
."File" -> "Project Structure..."
)
или добавляя код, подобный следующему к файлу
build.gradle
модулей приложения:
dependencies { // Change "sqlite-android-3130000" to the name of the new module! compile project(':sqlite-android-3130000') }
Более подробное описание использования шагов выше, чтобы создать очень простое приложение здесь.
Во время написания aar-файлы могут использоваться только непосредственно в
проектах Android Studio, но не в проектах, созданных с
использованием других IDE (например, Eclipse, IntelliJ IDEA).
Однако, aar это просто zip-архив, содержащий файл
classes.jar
, который в свою очередь содержит Android SQLite
java-классы с каталогом jni/
, который содержит нативную
библиотеку для каждой платформы. Извлекая эти две вещи из aar-файла и
добавляя их к проекту отдельно, часто возможно использовать aar-файл в
проектах не в Android Studio.
Сборка своего файла aar требует Android SDK и NDK.
Чтобы получить код, используя fossil, используйте следующую серию команд.
В этом случае "каталог проекта" ("project directory") в последующих
шагах это каталог sqlite
, созданный второй командой ниже:
$ fossil clone http://www.sqlite.org/android android.fossil $ mkdir sqlite $ cd sqlite $ fossil open ../android.fossil
Альтернативно, последний код может быть загружен как
zip-архив. В этом случае "project directory" это каталог
SQLite_Android_Bindings/
, созданный при распаковке архива.
API level 9-15: код для версии, которая совместима с уровнем API 9
Android и больше, может быть получен как zip-файл
здесь. Или, используя fossil, команда fossil open
выше должна быть заменена:
$ fossil open ../android.fossil api-level-9
Последний выпуск библиотеки public domain SQLite связан с кодом
SQLite Android bindings, полученным на шаге 1.
Если вы хотите использовать иную версию SQLite, например, которая
содержит расширение SEE, замените файлы
sqlite3.c
и sqlite3.h
в следующих местоположениях:
sqlite3/src/main/jni/sqlite/sqlite3.c sqlite3/src/main/jni/sqlite/sqlite3.h
По умолчанию SQLite собран с такими опциями:
-DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS3Чтобы построить библиотеку SQLite с некоторой другой комбинацией опций командной строки, отредактируйте файл
Android.mk
в:
sqlite3/src/main/jni/sqlite/Android.mk
$ export ANDROID_HOME=~/Android/Sdk/ $ cd sqlite3 $ ../gradlew assembleRelease
Сборка aar-файла, используя Android Studio похожа. Откройте проект SQLite Android bindings в Android Studio, выполните "gradle sync", затем выполните задачу "assembleRelease" в модуле "sqlite3".
Используя командную строку или Android Studio, чтобы управлять задачей,
Вы получите aar-файл в:
sqlite3/build/outputs/aar/sqlite3-release.aar
.
Как только файл aar был создан, это может использоваться в приложении Android Studio, как описано выше. aar-файл должен составить примерно 3.2 МБ в размере. Если это намного меньше (ближе к 100 КБ), это указывает, что aar-файл пропускает нативные библиотеки по той или иной причине. Консультируйтесь с журналом сборки.
Если файл Android.mk
, описанный в шаге 2 выше, редактируется
после того, как выполнена сборка, может быть необходимо выполнить очистку
(../gradlew clean
или через Android Studio) прежде, чем
пересоздать файл aar, чтобы гарантировать правильную сборку.
Код SQLite Android bindings может также быть добавлен непосредственно к прикладному проекту так, чтобы это было построено и развернуто таким же образом, как весь другой код приложения.
Скопируйте код SQLite Android bindings в приложение:
sqlite3/main/src/jni/
в каталог jni/
приложения или
в каталоги jni/
модулей приложения. Затем от родительского
каталога jni/
выполните команду ndk-build
, как
описано здесь.sqlite3/main/src/java/
туда, где находится
java-код приложения.