【安卓】如何在安卓端运行nodejs的sqlite3模块

问题描述

想在安卓端运行nodejs写的web服务器。目前遇到的问题是sqlite3模块的安装问题。
请问大佬们如何运行起来?
sqlite3官方给的一个解决方法是将sqlite3作为nodejs的一个核心插件,与nodejs一起交叉编译。但……恕咱弱鸡不知如何操作。

问题出现的平台版本及自己尝试过哪些方法

有尝试过sqlite3和better-sqlite3,但皆以失败告终。运行都出现类似的段错误:

@localhost  ~/test  node main

[1] 4206 segmentation fault (core dumped) node main

运行环境:NeoTerm(一个基于Termux的终端 大概)
装有nodejs、sqlite、libsqlite、libsqlite-dev、cmake、make、clang(替代gcc)和python2.7
【安卓】如何在安卓端运行nodejs的sqlite3模块

相关代码

npm install sqlite3 --build-from-source --sqlite=~/../usr/bin/sqlite3

npm install better-sqlite3 --sqlite=./sqlite-amalgamation

其中sqlite-amalgamation文件夹里面的代码是在官网(https://www.sqlite.org/downlo...)下载的sqlite-amalgamation-3270200.zip解压出来的(https://www.sqlite.org/2019/s...)

测试用的js:

const sqlite = require("sqlite3");

// const sqlite = require("better-sqlite3");

console.log(sqlite);

其他思路

因为只是用作数据库,若是大佬们有什么可以替代用的数据库也可以推荐(win和android上都可以方便使用的,Android是到时候演示的时候方便演示)
ps: 听说也有用docker编译出来arm64可用的sqlite库,但咱目前还是一脸懵逼的状态。。。

参考

https://github.com/JoshuaWise...
https://github.com/mapbox/nod...
https://github.com/mapbox/nod...

回答

数据量不大可以考虑NEDB

以上是 【安卓】如何在安卓端运行nodejs的sqlite3模块 的全部内容, 来源链接: utcz.com/a/99642.html

回到顶部