sqlite
OpenHarmony环境安装及代码下拉开发编译操作总结
一、dayu200每日构建
1. 获取OpenHarmony源码
从OpenHarmony的官方代码仓库获取源码,确保代码是最新的。
2. 配置开发环境
根据OpenHarmony的开发要求,配置开发环境,例如安装必要的编译工具和依赖库。例如在Ubuntu 20.04上,可能需要安装以下软件:
sudo apt-get install libfl-dev
sudo apt install libssl-dev
sudo apt-get install openjdk-8-jdk
sudo apt-get install genext2fs
sudo apt install libtinfo-dev libtinfo5
3. 添加SQLite3到OpenHarmony项目
- 下载SQLite3源码:从SQLite官网或其他可靠源下载SQLite3的源码。
- 修改OpenHarmony配置:将SQLite3的源码添加到OpenHarmony项目的合适位置,并修改构建配置文件(如
build.sh或hb build相关的配置文件),以确保SQLite3能够被正确编译和链接。
4. 编译OpenHarmony项目
在源码根目录执行以下命令进行编译:
./build.sh --product-name rk3568 –ccache
或者使用hb build命令(OpenHarmony 构建系统中用于编译目标设备镜像的命令):
hb build -p dayu200
编译完成后,镜像文件会生成在out/rk3568/packages/phone/images目录下。
5. 下载Dayu200每日构建镜像
如果不想自行编译,可以直接从OpenHarmony的每日构建网站下载Dayu200的镜像:
- 访问 OpenHarmony每日构建 网站。
- 选择
master分支,形态组件选择dayu200,设备层级选择富设备,构建状态选择成功。 - 下载对应的镜像文件。
6. 烧录镜像到Dayu200开发板
- 安装驱动:下载并安装烧录工具所需的USB驱动。
- 使用烧录工具:使用RKDevTool等烧录工具,将下载或编译好的镜像烧录到Dayu200开发板。
- 烧录步骤:
- 打开烧录工具,导入下载的镜像包中的
config.cfg配置文件。 - 连接开发板,按住
recovery + reset按键进入loader模式。 - 开始烧录,等待烧录完成。
- 打开烧录工具,导入下载的镜像包中的
完成以上步骤后,即可在Dayu200开发板上运行包含SQLite3的OpenHarmony系统。
二、润和DAYU200代码仓移植
在将SQLite移植到OpenHarmony的images镜像并使其可通过hdc shell调用的过程中,你可以参考文档中已有的移植思路,结合SQLite的特性进行操作。这涉及到产品配置、目录规划、构建脚本修改以及可能的依赖处理等方面。下面是详细的移植步骤:
- 产品配置添加:在
//vendor/kaihong/khdvk_3566b/config.json文件中,确认SQLite所需的子系统和组件配置。如果SQLite依赖其他库,如tcl等,需确保这些依赖也在subsystems中正确配置。例如,如果SQLite依赖musl库,应保证musl在subsystems的相关部分已配置:
{
"product_name": "khdvk_3566b",
"device_company": "kaihong",
"device_build_path": "device/board/kaihong/build",
"target_cpu": "arm",
"type": "standard",
"version": "3.0",
"board": "khdvk_3566b",
"enable_ramdisk": true,
"build_selinux": true,
"subsystems": [
{
"subsystem": "thirdparty",
"components": [
{
"component": "musl",
"features": []
},
{
"component": "sqlite", // 假设添加SQLite组件配置
"features": []
}
]
}
]
}
- 目录规划与代码放置:参考文档中的目录规划,将SQLite的相关代码放置在合适的位置。可以在
device或vendor目录下创建相应的目录来存放SQLite的源码、配置文件等。例如,在device/board/kaihong/khdvk_3566b/sqlite目录下放置SQLite的源码和相关文件。 - 构建脚本修改:修改构建脚本,确保SQLite被正确编译并打包到镜像中。如果使用
build.sh脚本,需添加编译SQLite的相关命令。比如在build.sh中添加类似于以下的代码片段(具体命令根据SQLite的编译方式而定):
# 假设SQLite的编译命令
cd /path/to/sqlite/source
./configure --prefix=/path/to/install/dir
make
make install
若使用其他构建系统(如Makefile、CMake等),也需要在相应的构建文件中进行配置,确保SQLite的编译和安装路径符合项目要求,并且最终能将其相关文件打包到images镜像中。
4. 处理依赖关系:如果SQLite有依赖库(如tcl等),需要确保这些依赖库也被正确移植和配置。按照文档中处理其他组件依赖的方式,对SQLite的依赖进行处理。例如,若依赖tcl,需完成tcl的移植、配置和编译,并且在SQLite的编译过程中指定正确的tcl库路径。
5. 将SQLite集成到镜像:在构建镜像的过程中,确保SQLite的可执行文件、库文件等被正确打包到images镜像中。这可能涉及到修改镜像打包脚本或配置文件。例如,如果使用的是build.sh脚本构建镜像,在脚本中添加将SQLite文件复制到镜像相关目录的命令:
# 假设镜像打包目录为out/khdvk_3566b/images
cp -r /path/to/sqlite/install/dir/* out/khdvk_3566b/images/
- 测试与验证:完成上述步骤后,进行编译和镜像生成。使用
hdc shell进入设备,检查是否可以直接调用SQLite进入数据库。例如,在hdc shell中执行sqlite3命令,看是否能正常启动SQLite数据库。如果出现问题,根据错误提示进行排查,可能需要检查文件权限、路径配置、依赖库是否正确加载等问题。 要将 SQLite 移植到 OpenHarmony 镜像(如images目录下的镜像)中,使得客户能从每日编译的Daily版本中下载包含 SQLite 的镜像,并通过hdc shell调用sqlite进入数据库,可按以下步骤操作:
1. 确认 SQLite 源码获取
首先要确保已经获取到 SQLite 的源码。可以从 SQLite 官方网站(https://www.sqlite.org/download.html )下载最新稳定版本的源码。
2. 把 SQLite 源码集成到 OpenHarmony 项目
- 创建目录:在 OpenHarmony 项目的合适位置(例如
vendor目录下的特定供应商目录)创建一个新目录来存放 SQLite 源码。例如:
mkdir -p vendor/your_vendor/sqlite
- 复制源码:将下载好的 SQLite 源码复制到上述创建的目录中:
cp -r /path/to/sqlite-source/* vendor/your_vendor/sqlite/
3. 配置编译脚本
编写 BUILD.gn 文件
在 vendor/your_vendor/sqlite 目录下创建 BUILD.gn 文件,用于描述 SQLite 的编译规则。示例内容如下:
import("//build/ohos.gni")
ohos_shared_library("sqlite") {
sources = [
"sqlite3.c", # 根据实际源码文件名调整
]
include_dirs = [
".",
]
cflags = [
"-DSQLITE_ENABLE_FTS3",
"-DSQLITE_ENABLE_FTS4",
"-DSQLITE_ENABLE_FTS5",
"-DSQLITE_ENABLE_RTREE",
]
public_deps = [
# 若有其他依赖,可在此添加
]
}
集成到 OpenHarmony 编译体系
在 vendor/your_vendor/config.json 或者相关的配置文件中,添加对 SQLite 模块的依赖,确保编译时会包含 SQLite。示例如下:
{
"module_list": [
"//vendor/your_vendor/sqlite:sqlite"
]
}
4. 配置镜像打包脚本
要确保 SQLite 编译产物被包含到镜像中。可以在 device 目录下的设备配置文件(如 device/board/your_board/config.json)或者相关的镜像打包脚本中添加 SQLite 库文件的复制规则。示例如下:
{
"image_parts": [
{
"name": "sqlite",
"src": "//vendor/your_vendor/sqlite:sqlite",
"dst": "/system/lib" # 可根据实际需求调整目标路径
}
]
}
5. 编译并生成镜像
执行 OpenHarmony 项目的编译命令来生成包含 SQLite 的镜像。例如:
./build.sh --product-name your_product_name
编译完成后,在 out/rk3568/packages/phone/images 目录下会生成包含 SQLite 的镜像文件。
6. 验证移植结果
- 下载镜像:从每日编译的
Daily版本中下载生成的镜像文件。 - 烧录镜像:将镜像烧录到目标设备上。
- 使用
hdc shell验证:通过hdc shell连接到设备,尝试调用sqlite进入数据库:
hdc shell
sqlite3
如果能成功进入 sqlite3 命令行界面,就说明 SQLite 已经成功移植到镜像中。
注意事项
- 依赖处理:确保 SQLite 编译过程中所需的依赖库和工具都已经正确安装和配置。
- 版本兼容性:要保证 SQLite 版本与 OpenHarmony 系统的兼容性,避免出现编译错误或运行时问题。
- 路径调整:根据实际的项目结构和需求,灵活调整上述步骤中的路径和配置。
三、HDC设备推送
hdc设备命令推送:
hdc file send sqlite3 /data/local/tmp/sqlite3
chmod +x sqlite3
导入镜像文件
镜像文件,位于我们的产物out目录下,具体路径为:out/rk3568/packages/phone/images
我们需要把这个文件全部移动到Windows系统下,这个烧录工具无法直接通过Windows的文件资源管理器识别WSL的文件内容。所以可以直接从资源管理器中先把文件拖到Windows的桌面上。

右击选择 导入配置

选择images下的一个config.cfg 文件


修改镜像文件的路径
导入镜像文件后,会发现一个问题,所有文件的路径都不对。这个只是路径错了,但实际的文件信息是成功配置好的,所以我们还需要手动地去修改以下这里的所有路径。

还是注意images的存放位置,尽量不要出现中文。

更多推荐
所有评论(0)