200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > android sh 指令_Android ADB Shell命令解析

android sh 指令_Android ADB Shell命令解析

时间:2019-02-23 10:33:39

相关推荐

android sh 指令_Android ADB Shell命令解析

我们先来看看 Android 的概念:

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

既然 Android 基于 Linux,那么 Linux shell 命令在 Android 里大都也是适用的。所有以“adb shell”开头的命令,都可以先执行adb shell命令进入目标设备的Linux Shell环境,然后在目标设备的Linux Shell中再执行“adb shell”之后的命令。如adb shell dumpsys activity,可以先执行adb shell,然后再Linux Shell中再执行dumpsys activity。

Adb提供了shell来在模拟器或手机上运行各种各样的命令,这些命令的二进制形式存在于这个路径中:

/system/bin/...

无论是否进入 adb 远程shell,都可以使用 shell 命令来执。在未进入远程shell的情况下可以按下述格式执行单条命令:

adb [-d|-e|-s {}] shell

启动远程shell使用下面的格式:

adb [-d|-e|-s {}] shell

退出远程shell时使用 CTRL+D 或 exit 终止会话。

一些比较常见的 shell 命令:

adb shell这个命令将登录设备的shell。进入目标设备的Linux Shell环境,在该环境中可以执行一些Linux命令。如在Linux Shell环境中执行ps可以查看android设备中运行的所有进程。在Linux Shell环境中执行exit可以退出Linux Shell环境。

adb shell 后面加将是直接运行设备命令,相当于执行远程命令。

ls查看目录

date打印或设置当前系统时间

cat /proc/meminfo查看内存信息

cat /proc/cpuinfo查看CPU信息

adb shell dumpsys activity列出目标设备上的activity栈(back stack)和任务(task)的信息, 还有其他组件的一些信息和一些关于进程的信息。

adb shell dumpsys packages列出一些系统信息和所有应用的信息。这个命令的输出很庞大,在三星nexus上的输出有12000多行。这些信息都非常详细,包括Features,Activity Resolver Table等。

adb shell pm list permissions列出目标平台上的所有权限

adb shell pm list packages列出目标设备上安装的所有app的包名

adb shell pm list features列出目标设备上的所有feature

ls查看目录

ls查看目录

……

1. 删除应用

Android没有提供一个卸载应用的命令,需要自己手动删除:

cd /data/app

rm nowamagic.apk

2. 删除Android系统Rom自带的软件

确定手机root了,取得了root权限才能删除系统文件。下载Android_db.rar,解压到%windir/%System32下。手机连接数据线,在电脑上打开cmd,然后输入命令:

adb remount

adb shell

su

执行完成之后,你会看到:

* daemon not running. starting it now *

* daemon started successfully *

接着就是Linux命令行模式了,输入:

cd system/app

然后输入ls回车,这时候列表显示了system/app里面的所有文件,也就是Rom集成的一些软件了。

比如删除Youtube,他的文件名是Youtube.odex和Youtube.apk,我们要删除这2个文件,敲入以下命令:

rm Youtube.*

重启,Youtube已经删除掉了。

3. sqlite3 adb命令

进入数据库的两种方式:

第一种:sqlite3 nowamagic.db

第二种:

adb shell

sqlite3

.databases 列出数据库文件名

.tables ?PATTERN? 列出?PATTERN?匹配的表名

.import FILE TABLE 将文件中的数据导入的文件中

.dump ?TABLE? 生成形成数据库表的SQL脚本

.output FILENAME 将输出导入到指定的文件中

.output stdout 将输出打印到屏幕

.mode MODE ?TABLE? 设置数据输出模式(csv,html,tcl…

.nullvalue STRING 用指定的串代替输出的NULL串

.read FILENAME 执行指定文件中的SQL语句

.schema ?TABLE? 打印创建数据库表的SQL语句

.separator STRING 用指定的字符串代替字段分隔符

.show 打印所有SQLite环境变量的设置

.quit 退出命令行接口

4. 使用adb命令启动一个Activity

adb shell am start PACKAGE_NAME/ACTIVITY_IN_PACKAGE

adb shell am start PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY

# example

adb shell am start -n net.nowamagic.example/.MainActivity

adb shell am start -n net.nowamagic.example/net.nowamagic.example.MainActivity

5. 屏幕截图, 并使用perl命令保存截图

adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

6. 快速删除目录(文件夹)

如果程序在sd卡上创建了目录MyApp,在该目录中有数据库和一些其他文件,在将程序发布到手机上测试时, 需要删除原来创建的目录再重新创建.这时只需要执行以下命令:

adb shell

cd /mnt/sdcard

rm -r MyApp

这样的话就不必再在文件浏览器中寻找这个目录并删除它。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。