Android 模拟器 sqlite3命令 not found 解决办法

1. 环境
Android Studio
Android 模拟器 网易MuMu (Android 6.0.1)

2. 概述
Android Studio自带的虚拟机感觉运行效果有点卡顿,所以下载MuMu作为Android调试的模拟器。
但是MuMu中缺少一些命令,比如所需的sqlite3。
通过PC的cmd命令端或Power Shell利用adb shell进入MuMu模拟器,并获取root权限。
cd到对应APP的databases目录下,发现sqlite3 not found。
这说明MuMu模拟器/system/xbin/下没有sqlite3这个命令。

笔者因为急需查看这个数据库下面的表,所以采取一种临时方法查看。

3. 临时解决方法
原理:急需查看数据库中的表,所以通过adb pull 的方法,将数据库复制到PC上,然后使用sqlite3查看。
命令如下:

//进入模拟器,已经获取root权限adb shell //进入你的database的目录下cd /data/data//databases/ //将所需查看的数据库复制到/sdcard/的某个目录下,这样下一步输入路径会方便一点cp  /sdcard/DCIM///回到PC控制用户exit//把数据库拿出来adb pull sdcard/DCIM///查看数据库sqlite3 //看完后删除rm 

4. 通用解决方法
原理:从Android Studio的虚拟机中,将对应CPU版本的sqlite3这个command复制到MuMu模拟器/system/xbin/目录下面。

具体步骤:
创建与MuMu模拟器相同CPU版本的avd虚拟机(直接在Android Studio创建即可)
Tools —— AVD Manager —— Create Vitual Device
第一步、选屏幕界面,自己随意即可,点击NEXT
第二步、要选择相应的Android API版本 和 对应的CPU架构。
根据自己MuMu虚拟机的版本就可以了。笔者的是Android 6.0,CPU型号是X86。
注意:
因为MuMu模拟器是在PC上运行的,所以它的CPU架构并不是Arm(你用命令行查看CPU型号时,会显示模拟器为ARM的CPU,但那真的只是模拟而已……),故不能选择Arm系列的AVD虚拟机。你也可以尝试一下,这台虚拟机无法在你的PC上开机,会一直卡在"waiting your device to come online"这个process。下图显示笔者的MuMu模拟器实际运行的是X86的CPU。

所以对因选择X86版本的Android 6.0 来配置自己的Android Studio AVD虚拟机。

第三步、可以给自己虚拟机改个名字,然后点击Finish即可。

从Android Studio AVD的虚拟机中,获取sqlite3命令,并传到MuMu中去。
第一步、开启虚拟机。左边是AVD,右边是MuMu模拟器。

//显示当前连接的可用adb操作设备.//在这里MuMu模拟器是127.0.0.1:7555这个设备,AVD虚拟机是emulator-5554这个设备adb devices//进入Android Studio AVD虚拟机adb -s emulator-5554 shell//进入/system/xbin目录下,查看是否有sqlite3cd /system/xbinls -a | grep sqlite3//有sqlite3,退回到windows系统exit//将sqlite3复制到windows下面adb -s emulator-5554 pull /system/xbin/sqlite3

第二步,将sqlite3传到MuMu模拟器中去。

//进入MuMu模拟器,确保是root#用户adb -s 127.0.0.1:7555 shell//给/system赋予可读可写权限mount -o remount,rw /system//退回到windows系统exit//将sqlite3复制到/system/xbin目录下面adb -s 127.0.0.1:7555 push sqlite3 /system/xbin///重新进入MuMu模拟器,确保是root#用户adb -s 127.0.0.1:7555 shell// 给sqlite3命令可执行权限chmod 755 /system/xbin/sqlite3//重现将/system目录变为只读mount -o remount,ro /system

完成,可以自己到自己的数据库目录下,测试sqlite3命令是否好用。

更多相关文章

  1. Android(安卓)模拟器运行编译后的源码
  2. Android(安卓)webview最简单小例子
  3. 如何在真机上调试Android应用程序(图文详解)(zz)
  4. Flutter误删除android/ios目录怎么办?
  5. android eclipse 报error loading /system/media/audio/ xxx 错
  6. Android(安卓)Studio常见问题——模拟器中关于VT-x is disabled
  7. 模拟器1.5 :Avd 创建,adb 命令攻略
  8. Android中的支付(支付宝)
  9. 如何把应用跑在android上

随机推荐

  1. Android使用Retrofit2.0和RxJava2.0处理
  2. Android out of memory应注意的地方
  3. Android/Ophone中的悬浮对话框和即点即关
  4. Android连接WiFi设置IP为静态IP
  5. Android判断网络是否可用,调用系统网络设
  6. 非常不错的资金管理系统android版客户端
  7. android xml 布局错误
  8. 【Android】实现Activity页面暂停几秒后
  9. android 捕获并处理HOME键
  10. Android在WebView加载数据时展示loading