安裝
有三種方法可以將 SQLite Android 繫結新增至應用程式
- 透過將預先建置的 aar 檔案新增至應用程式的 Android Studio 專案。
- 透過建置 aar 檔案,然後如同 (1) 將其新增至應用程式的 Android Studio 專案。
- 透過將 SQLite Android 繫結原始碼新增至應用程式程式碼,並與其他應用程式程式碼一起建置。
預設情況下,SQLite Android 繫結支援 Android API 級別 16 以上(Android 版本 4.1 以上)。另外還有一個支援 Android API 級別 9 以上(Android 版本 2.3 以上)的版本。如果您想使用與 API 級別 9 相容的版本,請注意取得程式碼時涉及的額外步驟。
1. 使用預先建置的 aar 檔案
這是最直接的選項。「aar」檔案類似於 jar 檔案,不同之處在於它可能同時包含已編譯的 Java 類別和原生程式碼。可從此頁面取得適用於 API 級別 16 以上的最新 SQLite 版本的 aar 檔案。
將 aar 檔案新增至 Android Studio 專案涉及兩個步驟
- 匯入模組。在 Android Studio 2.1 中,這是透過選取
「檔案」->「新增」->「新增模組...」
選單,然後選擇「匯入 JAR/AAR 套件」
來完成的。 - 將對新模組的依賴項新增至主要應用程式模組(或新增至將使用 SQLite Android 繫結的所有模組)。在 Android Studio 2.1 中,可以使用專案結構對話方塊(選取
「檔案」->「專案結構...」
)或將類似以下的程式碼新增至應用程式模組的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
檔案,該檔案又包含 SQLite Android 繫結 Java 類別,以及一個包含每個平台原生程式庫的 jni/
目錄。透過從 aar 檔案中提取這兩項內容,並將它們分別新增至專案中,通常可以在非 Android Studio 專案中使用 aar 檔案。
2. 建置自訂 aar 檔案
建置自訂 aar 檔案需要 Android SDK 和 NDK。
- 取得程式碼。SQLite Android 繫結的程式碼可以透過簽出 Fossil 儲存庫或下載 zip 檔案來取得。
要使用 Fossil 取得程式碼,請使用以下一系列命令。在這種情況下,後續步驟中提到的「專案目錄」是指以下第二個命令建立的
sqlite
目錄$ fossil clone http://www.sqlite.org/android android.fossil $ mkdir sqlite $ cd sqlite $ fossil open ../android.fossil
或者,可以以 zip 封存檔下載最新的程式碼。在這種情況下,「專案目錄」是指透過解壓縮下載的封存檔所建立的
SQLite_Android_Bindings/
目錄。API 級別 9-15 的使用者:可以從這裡以 zip 檔案取得與 Android API 級別 9 以上相容的版本的程式碼。或者,如果使用 Fossil,則應將上述的
fossil open
命令替換為$ fossil open ../android.fossil api-level-9
- 設定原生程式庫。
公開領域 SQLite 函式庫的最新版本與步驟 1 中下載的 SQLite Android 繫結程式碼捆綁在一起。如果您想使用不同版本的 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
- 建置並組裝 aar 檔案。要使用命令列組裝 aar 檔案,首先將環境變數 ANDROID_HOME 設定為 SDK 目錄,然後從專案目錄的「sqlite3」子目錄中執行 gradle「assembleRelease」目標。例如
$ export ANDROID_HOME=~/Android/Sdk/ $ cd sqlite3 $ ../gradlew assembleRelease
使用 Android Studio 組裝 aar 檔案的步驟類似。使用 Android Studio 開啟 SQLite Android 繫結專案,執行「gradle sync」,然後在「sqlite3」模組中執行「assembleRelease」gradle 工作。
使用命令列或 Android Studio 執行 gradle 工作都會在
sqlite3/build/outputs/aar/sqlite3-release.aar
建立 aar 檔案。建立自訂 aar 檔案後,即可按照上述說明在 Android Studio 應用程式中使用。aar 檔案的大小應約為 3.2MB。如果它比這個小很多(接近 100KB),則表示 aar 檔案由於某種原因缺少原生函式庫。請查閱建置日誌。
如果在執行建置後編輯了步驟 2 中描述的
Android.mk
檔案,則可能需要在重建 aar 檔案之前執行 gradle「clean」目標(使用../gradlew clean
或透過 Android Studio),以確保正確建置。
3. 直接將原始程式碼新增至應用程式
SQLite Android 繫結程式碼也可以直接新增至應用程式專案,以便與所有其他應用程式程式碼以相同的方式建置和部署。
要將 SQLite Android 繫結程式碼複製到應用程式中