Latest SQLite binary for January 2015
Latest SQLite binary for January 2015
Well I went through quite a few threads to find an updated, decent sqlite binary. Didn't find any that met that criteria.
So I compiled one.
Here's SQLite 3.8.7.4 combined into a single source file (the amalgamation) for ARM v6 and v7.
These binaries are built with optimized armv6 and armv7 flags.
Should work on Android 2.x and up.
I have attached 2 versions to this thread, compressed and uncompressed. I had to change the extension to apk otherwise I can't upload it. Just remove the extension.
Just download and run the uncompressed file, whereas compressed you have to uncompress it first.
Here's 2 alternative download links:
Compressed:
armv6
http://d-h.st/CNlY
armv7
http://d-h.st/Tlg
Uncompressed:
armv6
http://d-h.st/6lCg
armv7
http://d-h.st/dpIw
* Update *
E:V:A alerted me to a problem with certain versions of android didn't like the dynamic linking. So now it is statically linked.
I now run 4 tests on the built binary.
1. I import the chinook test database using -init and dump it.
2. I open the already created sqlite database and dump it.
3. I vacuum the chinook database.
4. I reindex the chinook database.
Added 64bit file support, but it has not been fully tested.
Hopefully someone can do some tests with large five gigabyte data bases,
otherwise I'll get to it eventually.
Also, since I've actually made changes to the sqlite code since the update in January, I've created a github.
http://github.com/tech128/sqlite3
Attached Files
| sqlite3.armv6.apk (874.0 KB, 1014 views) | |
| sqlite3.armv6.7z (375.2 KB, 252 views) | |
| sqlite3.armv7.apk (878.0 KB, 2038 views) | |
| sqlite3.armv7.7z (376.9 KB, 880 views) |
Q: Is this will work on other device ? my device is sony xperia C JB 4.2.2
A: Yes this will work on any android device that has android 2.0 or higher.
So it will work fine on your sony xperia C JB 4.2.2
Q: Did someone test this on a Samsung?
I'm asking because this binary is dynamically linked and thus dependent on libraries not being non-standard...
If you want your sqlite3 to be device independent you have to make it statically linked.
You current version does not work on my 4.2.2.
(It runs, but crashes as soon as you specify a db file, because of unmatched .so files.)
It is a honor to have you post in my thread. Thank you for letting me know it does not work on your system.
I have read many of your threads, extremely informative. One day I hope to memorize all of what you have written.
I compiled sqlite3 dynamically because it is a little easier on the memory subsystem and has a smaller output filesize.
I tested it on several android 2.3 / 4.3 / 4.4 systems and they all seemed to work fine so I thought it would be ok.
Especially since all that is dynamically referenced is libc and libdl.
I have just compiled a static version but I need to test it before posting it.
I will update the op soon.
your sqlite3 can reindex, but it can not vaccum. u can re-check it
Thank you for letting me know about this issue.
I test sqlite before I release it, but there are no test suites for it, barring one which requires tcl,
which I have no desire to compile since there's no other use for it.
The current sqlite can probably only reliably work with databases up to 2 or 4 GB
Which usually isn't a problem since most sqlite databases are well under that amount.
I've been trying to compile an updated sqlite with proper 64 bit file support.
Since 64 bit file support is a bit wonky on android, this has been a bit tough.
Also, I've been rather busy since I last released the binary, so I haven't had much time to think about compiling in general.
I'll do my best to get a new binary out soon-ish.
Armv6 flags? So it's useless on Nexus 4/5 etc with armv7 CPUs? Can we find one which is optimised for high end devices?
I try to optimize it as much as possible without breaking it x_X
but then I realized most android utilities aren't compiled with proper 64bit file support.
And also, most people don't use sqlite for anything earth-shattering anyway, mostly vacuum, reindex,
Oooooo just saw this while searching for sqlite performance enhancements.
https://sqlite.org/src4/doc/trunk/www/design.wiki
Very nice.
I'd also like to try to switch to musl as the standard library since alireza7991 has said it makes things smaller and faster.
Not sure how feasible that will end up for me though...
It doesn't look like sqlite can parallelized at all though. See here:
http://blogs.perl.org/users/timm_mur...nd-writes.html
There is a fork/variant of sqlite called paralite that uses threading,
but I don't think it retains the same file format compatibility and it looks like it introduces some bugs.
Unfortunately real life stuff takes precedence so things will progress slower than I would like.
But at least I know there's lots to look forward to even just for sqlite lol.
It works: for user of my app in android 5.0 but for me too with android 4.4.4 OnePlus one and cyanogen.
I test to put your binaries in /system/xbin in my phone and it works.
One question: i believe your binaries works too to phones that have an android version
but have a version of sqlite3 that no correspond with android isn't it?
Again thanks for this fresh binary.
I have some issues with converting UNIX-time compared to built-in binary.
At example command:
sqlite3 <here_file> "select datetime('now','localtime');"
– Built-in: returns correct time with timezone offset (preferred, data ready for use).
– Your: returns UTC time without using phone's offset.
This causes problems with my use-case.
Same version (3.8.7.4) Windows EXE from official site returns correct time with timezone offset.
Please, can you comment this?
Maybe this is due wrong linked libs or something else?
UPD: ok, took binary from WhatsTasker
APK (nevermind), it have 3.8.8 version.
And it returns correct local time!
So something wrong in this compiled version.
If some one will have those issues, I attached that binary, it's Lollipop-compatible too.
sqlite3.zip (288.9 KB, 236 views)
Here's SQLite 3.8.7.4 combined into a single source file
Huge thanks for sharing!
This is only binary I found that include all needed for me:
1. Fresh – contains required new features
2. Standalone – not depends from system libsqlite.so
3. Lollipop compatible – no "PIE problem"
Latest SQLite binary for January 2015的更多相关文章
- matrix_2015_1 138 - ZOJ Monthly, January 2015
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3844 第一个,n个数,每次操作最大数和最小数都变成他们的差值,最后n个数相 ...
- Probabilistic locking in SQLite
In SQLite, a reader/writer lock mechanism is required to control the multi-process concurrent access ...
- Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU" (OJVM PSU) Patches (文档 ID 1929745.1)
From: https://support.oracle.com What is "Oracle JavaVM Component Database PSU" ? Oracle J ...
- Deep Learning in R
Introduction Deep learning is a recent trend in machine learning that models highly non-linear repre ...
- .NET 框架(转自wiki)
.NET Framework (pronounced dot net) is a software framework developed by Microsoft that runs primari ...
- (转)The Road to TensorFlow
Stephen Smith's Blog All things Sage 300… The Road to TensorFlow – Part 7: Finally Some Code leave a ...
- gnu-software
gnu coreutils https://www.gnu.org/software/coreutils/manual/coreutils.html#toc_Printing-text 目录列表 ht ...
- kbmmw 5.05.00 发布
新年前最后几天,kbmmw 发布了新版本,增加一大波功能.we are happy to announce v5.05.50 of our popular middleware for Delphi ...
- [From WIKI] IBM Z
IBM zEnterprise System From Wikipedia, the free encyclopedia Jump to navigationJump to search Hi ...
随机推荐
- Python_oldboy_自动化运维之路_函数,装饰器,模块,包(六)
本节内容 上节内容回顾(函数) 装饰器 模块 包 1.上节内容回顾(函数) 函数 1.为什么要用函数? 使用函数之模块化程序设计,定义一个函数就相当于定义了一个工具,需要用的话直接拿过来调用.不使用模 ...
- java基础62 JavaScript中的函数(网页知识)
1.JavaScript中,函数的格式 function 函数名(形参列表){ 函数体; } 2.JavaScript中,函数需要注意的细节 1.在javaScript中,函数定义形参时,是不能使用v ...
- ubuntu和windows双系统启动顺序的修改
ubuntu和windows双系统启动顺序的修改 说到启动就不得不说GRUB,Linux下大名鼎鼎的启动管理工具(曾经的LILO已经风光不再),当然现在已经是GRUB2了,GRUB2和GRUB最重要的 ...
- R语言学习笔记:使用reshape2包实现整合与重构
R语言中提供了许多用来整合和重塑数据的强大方法. 整合 aggregate 重塑 reshape 在整合数据时,往往将多组观测值替换为根据这些观测计算的描述统计量. 在重塑数据时,则会通过修改数据的结 ...
- CVE-2011-0104 Microsoft Office Excel缓冲区溢出漏洞 分析
漏洞简述 Microsoft Excel是Microsoft Office组件之一,是流行的电子表格处理软件. Microsoft Excel中存在缓冲区溢出漏洞,远程攻击者可利用此 ...
- 《精通Python设计模式》学习结构型之装饰器模式
这只是实现了Python的装饰器模式. 其实,python的原生的装饰器的应用比这个要强,要广的. ''' known = {0:0, 1:1} def fibonacci(n): assert(n ...
- day6作业--选课系统
角色:学校.学员.课程.讲师 要求: 1.创建北京.上海2所学校: 2.创建Linux,Python,go 3个课程,Linux\python在北京开,go在上海开: 3.课程包含,周期.价格,通过学 ...
- 机器学习之路:python支持向量机回归SVR 预测波士顿地区房价
python3 学习使用api 支持向量机的两种核函数模型进行预测 git: https://github.com/linyi0604/MachineLearning from sklearn.dat ...
- Django配置参数可选总结
一.可选字段参数 null blank core db_index editable primary_key radio_admin unique True or False db_colum hel ...
- 【推导】【单调性】Petrozavodsk Winter Training Camp 2018 Day 1: Jagiellonian U Contest, Tuesday, January 30, 2018 Problem B. Tribute
题意:有n个数,除了空集外,它们会形成2^n-1个子集,给你这些子集的和的结果,让你还原原来的n个数. 假设原数是3 5 16, 那么它们形成3 5 8 16 19 21 24, 那么第一轮取出开头的 ...