当前位置:   article > 正文

Android进入SQLite数据库(四种方案)_/system/bin/sh: su: inaccessible or not found

/system/bin/sh: su: inaccessible or not found

打开SQLite数据库的:

方式一:在Android Studio中

  • 1.先启动自己的项目然后在Android Studio底部打开Terminal

在这里插入图片描述

  • 2、adb shell远程来连接到手机系统
adb shell
  • 1

结果:

generic_x86:/ $
  • 1
  • 3、简单查看一下文件夹
ls
  • 1

结果:

ls: ./init.zygote32.rc: Permission denied
ls: ./init.rc: Permission denied
ls: ./init.environ.rc: Permission denied
ls: ./init.usb.rc: Permission denied
ls: ./adb_keys: Permission denied
ls: ./init.usb.configfs.rc: Permission denied
ls: ./ueventd.rc: Permission denied
ls: ./metadata: Permission denied
ls: ./init: Permission denied
acct bugreports config debug_ramdisk etc        odm  product          sbin    sys
apex cache      d      default.prop  lost+found oem  product_services sdcard  system
bin  charger    data   dev           mnt        proc res              storage vendor
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

可能遇到的问题:
Permission denied
/system/bin/sh: cd: /data/da: No such file or directory
这些其实都是权限问题

如果没有遇到Permission denied问题可忽略第四步。

解决方案在底部

  • 4、切换为root用户
su
  • 1


也可以使用su root命令,两者本质上是一样的。

su root
  • 1

结果:

generic_x86:/ #
  • 1

如果你输入命令后你感觉和之前没有什么区别,那么此时你就应该学习一下你的Linux基础啦。
补充:

在Linux中
#:代表管理员即root用户(拥有最高权限)
$:   普通用户
  • 1
  • 2
  • 3

可能遇到的问题:

/system/bin/sh: su: inaccessible or not found
  • 1

解决方案在底部

  • 5、进入到databases文件夹

注意:要求找自己项目的database下的

cd  /data/data/com.example.sqlitedemo/databases
  • 1

结果:

generic_x86:/data/data/com.example.sqlitedemo/databases #
  • 1
  • 6、进入数据库
    sqlite3 database_name
sqlite3 product.db
  • 1

结果:

generic_x86:/data/data/com.example.sqlitedemo/databases # sqlite3 product.db
SQLite version 3.22.0 2018-12-19 01:30:22
Enter ".help" for usage hints.
sqlite>
  • 1
  • 2
  • 3
  • 4
  • 7、一个简单的查询
select * from information;
  • 1

这个是我之前插入的一条数据

1|one|one
  • 1

END
此时就可以对该数据库进行操作啦!

方式二:cmd中

方式二与方式一其实是一样的,只是打开方式不同

  • 1、打开cmd
    win+r 输入cmd 回车
    在这里插入图片描述
  • 2、远程连接手机系统
adb shell
  • 1

在这里插入图片描述

ps:如果你没有给SDK配置环境变量,直接使用此命令是无法打开的。
需要进入到自己电脑SDK目录下的platform-tools文件夹内打开
A:\Document\AndroidStudio_SDK\platform-tools
附:在这里插入图片描述

  • 3、简单的查看目录
ls
  • 1

结果:
在这里插入图片描述
可能遇到的问题:
Permission denied
/system/bin/sh: cd: /data/da: No such file or directory
这些其实都是权限问题

第四步就是解决方案
如果没有遇到Permission denied问题可忽略第四步。

  • 4、切换为root用户
su
  • 1


也可以使用su root命令,两者本质上是一样的。

su root
  • 1

结果:

generic_x86:/ #
  • 1

可能遇到的问题:

/system/bin/sh: su: inaccessible or not found
  • 1

解决方案在底部

  • 5、进入到databases文件夹

注意:要求找自己项目的database下的

cd  /data/data/com.example.sqlitedemo/databases
  • 1

结果:
在这里插入图片描述

  • 6、进入数据库
    sqlite3 database_name
sqlite3 product.db
  • 1

结果:
在这里插入图片描述

  • 7、查看所有表
.tables
  • 1

android_metadata为默认的一个表
information是我自己创建的表
在这里插入图片描述
END
此时就可以对该数据库进行操作啦

方式三:利用谷歌浏览器

附链接:https://blog.csdn.net/code_hero666/article/details/80282394?utm_source=blogkpcl8
这种方案可能会遇到“HTTP/1.1 404 Not Found”这个问题,解决方案:暂无

方案四:利用SQLiteExpertProSetup64第三方工具

如果前三种方式都无法解决,那这个就是一个终极方案,除了麻烦一点没有其他的啦
下载地址:
http://www.sqliteexpert.com/download.html
直接下载安装即可
使用方法:
1、导出数据库
利用Android Studio将数据库下载到本地
在这里插入图片描述
在本地新建一个databases文件夹将两个文件放入即可

2、打开SQLiteExpertProSetup64
File—>Open Database
找到刚才导出的数据库文件
在这里插入图片描述
这种方案之所以麻烦是因为,每次操作一次数据库都要导出才能看到结果。

附加:

1、关于adb shell 的解释:

ADB: Android debug bridge.

Android手机实际是基于Linux系统的。

在你的android手机的设置中,Settings->Applications->Development->USB debugging勾选上,就可以允许PC通过adb shell命令远程登录你手机的linux系统。

这时通过USB线将android手机与电脑问连起来,在电脑上dos命令行中输入adb shell命令,可以远程登录到android手机的linux系统中。

成功登陆到android手机的系统中后,就可以运行一些简单的linux命令,比如'ls'查看目录中的文件,‘cd xxx’进入到xxx目录, 'exit'退出登录等等答。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2、问题解决:

  • 1、关于/system/bin/sh: su: inaccessible or not found问题的解决:
    出现此问题是因为手机(虚拟机)中没有或者不支持导致
    经了解发现虚拟机中的Google Play是不支持root的,
    在这里插入图片描述
    解决方案:
    安装一个支持root用户的虚拟机Google APLS
    在这里插入图片描述
    安装方法:
  • 1、打开AVD Manager
    在这里插入图片描述
  • 2、
    在这里插入图片描述
    完成next之后你会发现
    在这里插入图片描述
    选择要安装的Android版本next安装即可(只要后面后有Google APLS就可以)
    在这里插入图片描述
    直接finish
  • 3、用此虚拟机运行项目,即可。

注意如果你之创建过数据库或表以及在表中添加 的数据都会消失。这个道理其实很简单就相当于你换了一台新手机一样

3、SQLite数据库的简单操作

ctrl+K 清屏

查看所有数据库

 .databases
  • 1

查看所有表

.tables
  • 1

退出SQLite

.exit
  • 1

打开某数据库

.open database_name
  • 1

查询某一表中所有数据

select * from table_name;
  • 1

更多操作见链接:https://www.runoob.com/sqlite/sqlite-tutorial.html

END

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/336437
推荐阅读
相关标签
  

闽ICP备14008679号