android sqlite3程序不存在的解决办法(转)

在android开发中,在使用命令行操作数据库sqlite时,有时候会遇到sqlite3 not
found的问题。这是因为你的手机没有安装sqlite3程序。解决办法如下(两种办法结合起来解释的更清楚!!!):

方法1:

sqlite3 not found的解决办法(转)

在Android开发方面,我是小白,起步没多久。最近用到了sqlite本地缓存数据,我希望像mysql一样通过命令行查看建立的表以及表中的数据,于是用adb
shell进入,敲入sqlite3,提示 sqlite3: not found。
网上搜索了一下,网上的文章倒是不少,但如果直接复制人家的命令的话,发现仍然报错,于是自己研究了下,总结如下,希望遇到同样问题的朋友少走弯路:

1. 需要获取手机的root权限,方法很多了,我用的是360一键Root,有时也用百度一键Root

2. 从其他手机拷贝sqlite3文件到PC,我是从模拟器copy出来的,为方便大家,附件就有,可以直接下载哈

3. 进入手机建立个临时目录

开始---cmd---adb shell---mkdir /mnt/sdcard/tmp,然后退出到cmd下

adb push D:/temp/sqlite3 /mnt/sdcard/tmp

4. copy文件到/system/xbin

adb shell

su (这一步报permission denied的话是Root没有成功,重新Root吧)

cp /mnt/sdcard/tmp/sqlite3 /system/xbin/sqlite3  (注意:这一步可能报两种错,第一种: cp
not found,将命令换成cat /mnt/sdcard/tmp/sqlite3 > /system/xbin/sqlite3,
第二种:read-only file system,说明/system是只读的,此时需要重新mount,改为可读写,然后继续拷贝)

重新mount方法如下:

mount 
(从屏幕列出来的mount数据中找到/system的mount信息,空格隔开的,第一列表示设备名,第二列表示目录,第三列表示文件系统,第四列表示权限。网上其他教程在这一步都直接列出了他们的命令,由于设备名和文件系统不一样,所以执行不成功)

mount命令为:mount  -o  remount,rw  -t  第三列信息 
第一列信息  /system

如下图,注意看圈红的地方:

mount成功后,再执行上面说的文件copy的步骤,然后就能copy到 /system/xbin目录下了

需要改下文件的权限,命令: chmod 4755 /system/xbin/sqlite3

最后运行下,sqlite3,发现成功了吧

方法2:

原因: sqlite3 为一个可执行程序,在system/xbin/下面,某些rom 不带这个东西,导致没有该工具。

解决方法:拷贝一个sqlite3进去。

步骤:

1) 让/system文件夹可读写

$ adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

2)打开另外一个有sqlite3(/system/xbin/sqlite3)的模拟器或者是手机,把sqlite3导出,并把它导入到没有sqlite3机器的/system/xbin下面。(可以使用DDMS完成这一操作)

$ adb push sqlite3 /system/xbin

3)修改sqlite3的权限

# chmod 4755 /system/xbin/sqlite3

4)欢迎/system为只读文件

# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system

5)现在你就可以使用sqlite3命令了

# sqlite3 /data/data/com.mobisync.android/databases/sync.db SQLite version 3.6.22Enter ".help" for instructions sqlite> .tables android_metadata  file              sync_status

android sqlite3程序不存在的解决办法(转)

时间: 2024-11-05 16:35:33

android sqlite3程序不存在的解决办法(转)的相关文章

Eclipse下ADB报错:Android ADB server didn't ACK,解决办法

转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9401981 ADB server didn't ACK 这个问题会困恼很多的新手朋友,我以前刚开始做Android的时候也遇到过这个问题,不过自己百度,google啥的,也不知道怎么就给解决了,看到群里很多新手朋友都会问这个问题,说实话我也没有一个解决这个问题的终极方法(百试百灵的那种,哈哈),自己没遇到也没有认真的去对待他,今天,就是在今天,我打开Eclipse连上手机,准备调试程

Android开发遇到的异常及解决办法

Android开发遇到的错误及解决方法1. Unable to resolve target 'android-7' 解决方案: 修改工程目录下的default.properties文件里的内容target=android-7改成target=android-12(或者其他版本)就可以了,最好用txt打开,然后修改之后保存,运行就可以了. 原代码如下: # This file is automatically generated by Android Tools.# Do not modify

配置Android环境遇到的问题及解决办法

配置Android环境遇到的问题及解决办法: 1 环境安装地址 http://pan.baidu.com/s/1jGzNzyI 2 其他: 2.1 安装 2.1.1 安装JDK,JRE 成功安装之后,进行测试是否真的成功安装,点击[开始]----[运行]----输入 CMD,在命令提示符里面输入"Java -version"并按回车键,出现版本号则安装成功. 2.1.2 安装Adb 2.1.3 打开Eclipse 2.2 配置环境变量: 2.2.1 配置JAVA环境变量 (见下方2.2

'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决办法

前言: 本文的解决方法来自http://www.cnblogs.com/xionghui/archive/2012/04/11/2442404.html --感谢! 问题描述:新电脑装mysql后在cmd面板输入:mysql -uroot -p ,出现:'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件. 原因:没有配置环境变量! 解决方法:配置环境变量 在Path中加入mysql的安装目录下的bin目录 OK! 再次打开cmd: 后记:如有类似问题直接打开本文的感谢网址即可.

android.os.BadParcelableException: ClassNotFoundException when unmarshalling:解决办法

例如在用AlarmManager的时候 1 AlarmManager alarmMgr = (AlarmManager) mContext 2 .getSystemService(Context.ALARM_SERVICE); 3 Intent intent = new Intent(ALARM_ALERT); 4 // intent.setExtrasClassLoader(DBTask.class.getClassLoader()); 5 Bundle mBundle=new Bundle(

兔子--Android Support v4包丢失的解决办法

在开发中,Android Support v4包丢失的解决办法: Project->properties->Java Build Path->Libraries->Add External Jars 中加入sdk目录下的extras/android/support/v4/android-support-v4.jar (如果找不到,则需要用sdk manager下载android support package)

Android 开发遇到的问题及解决办法

Failed to resolve: com.android.support:appcompat-v7:23.4.0 问题解决办法: 1.在Android SDK Manager中找到对应的SDK版本,并且选中Extras中的Android Support Repository和Google Repository安装包. 2.选择 Sync Project with Gradle Files,重新编译,然后启动即可解决. adb not responding if youd like to re

android 开发中遇到错误及解决办法总结

新手总结的开发中所遇到错误及解决办法,如有不对,欢迎指正,如有更好的解决办法,也请不吝赐教. 一.dialog.show()引起的android.view.WindowManager$BadTokenException错误 错误日志 android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running?

MAC上使用maven打android的包,报错:No Android SDK path could be found. 解决办法

修正: ANDROID_HOME=/Applications/Android/adt-bundle-mac-x86_64-20140321/sdklaunchctl setenv ANDROID_HOME $ANDROID_HOME http://blog.csdn.net/wirelessqa/article/details/17911811 对android工程运行mvn compile出现如下信息: No Android SDK path could be found. You may c