本文将带您了解关于Shell命令之编译/安装/运行/卸载iOSAPP的新内容,同时我们还将为您解释shell卸载apk的相关知识,另外,我们还将为您提供关于adbshell命令查看app进程并kill
本文将带您了解关于Shell命令之编译/安装/运行/卸载iOS APP的新内容,同时我们还将为您解释shell卸载apk的相关知识,另外,我们还将为您提供关于adb shell命令查看app进程并kill、adb shell命令查看并杀死app进程、Android Shell命令之dumpsys部分功能简介、android – 如何运行adb shell命令并保留在shell中?的实用信息。
本文目录一览:- Shell命令之编译/安装/运行/卸载iOS APP(shell卸载apk)
- adb shell命令查看app进程并kill
- adb shell命令查看并杀死app进程
- Android Shell命令之dumpsys部分功能简介
- android – 如何运行adb shell命令并保留在shell中?
Shell命令之编译/安装/运行/卸载iOS APP(shell卸载apk)
一、模拟器
本次操作分为以下几个方面:
- 构建目标应用
- 启动一个iOS模拟器
- 把该app应用安装到上面启动好的模拟器上面
- 运行安装好的app
- 从模拟器上卸载掉该app
- 收集以下的一些基本信息:
需要构建的scheme | 如“AwesomeApp” |
应用bundle id | 如”com.awesome.app” |
模拟器的名称 | 如”iPhone6 Plus” |
如果你不想从Xcode的GUI中获取到这些信息,你可以通过查看命令xcrun simtl list的输出来进行收集。
开始在终端运行命令
(注意以下的命令需要在你的项目文件夹下面运行)
构建应用(指定在当前目录下生成build文件夹):
xcodebuild -scheme AwesomeApp -destination ‘platform=iphonesimulator,name=iPhone 6 Plus’ -derivedDataPath build
启动模拟器:
xcrun instruments -w ‘iPhone 6 Plus’
安装应用包
需要在通过以上命令构建好目标应用和启动完成模拟器之后来运行此命令
xcrun simctl install booted build/Build/Products/Debug-iphonesimulator/AwesomeApp.app
启动模拟器中已经安装好的应用
在该应用已经通过如上命令安装好之后
xcrun simctl launch booted com.awesome.app
删除该安装包
xcrun simctl uninstall booted com.awesome.app
如果你需要构建的是一个相当复杂的项目的话,你其实是需要给构建命令指定不少的一些参数的。
具体请阅读RTFMs(Read The Fucking Manuals:阅读那该死的使用手册!)。如果你是像我一样是个懒虫的话,请通过编写一些脚本来自动完成这些步骤吧。
二、真机
2.1 ios-deploy是什么?
ios-deploy
是一个使用命令行安装ios app到连接的设备的工具,原理是根据os x命令行工程调用系统底层函数,获取连接的设备、查询/安装/卸载app。类似的工具有Fruitstrap,ideviceinstaller、node-ios-device等。
2.2 安装
条件
- iOS 开发证书
- Xcode6.4+
安装
需要使用包管理工具node.js安装,如果未安装node.js,管理员权限执行下列命令
brew install node
安装ios-deploy:
npm install -g ios-deploy
2.3使用
参数
Usage: ios-deploy [OPTION]… -d,–debug 安装app后,在lldb调试环境唤起app -i,–id <device_id> 设置要连接的设备id -c,–detect 检测设备是否连接 -b,–bundle <bundle.app> 设置要安装的app budle -a,–args <args> 启动app时传递的参数 -t,–timeout <timeout> 设置连接设备超时时间 -u,–unbuffered 不缓存stdout -n,–nostart 调试时不唤起app -I,–noninteractive 在非交互模式启动 (app异常退出时退出调试) -L,–justlaunch 启动app并关闭lldb调试 -v,–verbose enable verbose output -m,–noinstall 不安装app直接启动调试 (-d not required) -p,–port <number> 指定设备端口,default: dynamic -r,–uninstall 安装时先卸载老的app(do not use with -m; app cache and data are cleared) -9,–uninstall_only 仅仅卸载app. 仅仅和 -1 <bundle_id>搭配使用。 -1,–bundle_id <bundle id> 指定bundle id -l,–list 列出所有文件 -o,–upload <file> 上传指定文件 -w,–download 下载app tree -2,–to <target pathname> use together with up/download file/tree. specify target -D,–mkdir <dir> 在设备上创建文件 -R,–rm <path> 移除设备上的文件/目录 (目录一定为空时) -V,–version 打印执行文件版本 -e,–exists 检查指定的bundle id是否安装 -B,–list_bundle_id 列出所有安装的bundle id -W,–no-wifi ignore wifi devices
使用示例
// deploy and debug your app to a connected device ios-deploy –debug –bundle my.app // deploy and debug your app to a connected device,skipping any wi-fi connection (use USB) ios-deploy –debug –bundle my.app –no-wifi // deploy and launch your app to a connected device,but quit the debugger after ios-deploy –justlaunch –debug –bundle my.app // deploy and launch your app to a connected device,quit when app crashes or exits ios-deploy –noninteractive –debug –bundle my.app // Upload a file to your app’s Documents folder ios-deploy –bundle_id ‘bundle.id’ –upload test.txt –to Documents/test.txt // Download your app’s Documents,Library and tmp folders ios-deploy –bundle_id ‘bundle.id’ –download –to MyDestinationFolder // List the contents of your app’s Documents,Library and tmp folders ios-deploy –bundle_id ‘bundle.id’ –list // deploy and debug your app to a connected device,uninstall the app first ios-deploy –uninstall –debug –bundle my.app // check whether an app by bundle id exists on the device (check return code `echo $?`) ios-deploy –exists –bundle_id com.apple.mobilemail // Download the Documents directory of the app *only* ios-deploy –download=/Documents –bundle_id my.app.id –to ./my_download_location // List ids and names of connected devices ios-deploy -c // Uninstall an app ios-deploy –uninstall_only –bundle_id my.bundle.id // list all bundle ids of all apps on your device ios-deploy –list_bundle_id
转自:http://www.jb51.cc/article/p-fpuxsvbb-ko.html
adb shell命令查看app进程并kill
1.查看进程
adb shell ps|findstr package
2.杀死进程
方法1:强制停止APP进程,不会清除APP进程在系统中产生的数据
adb shell am force-stop package
执行该命令后没有输出,手机对应进程已被杀死。
方法2:停止APP进程,并且清除这个APP进程产生的所有数据,相当于reset
adb shell pm clear package
执行该命令后输出success即表示命令执行成功,app进程被杀死,且会清楚所有数据,相当于卸载重装的效果,一般不建议使用。
adb shell命令查看并杀死app进程
1.查看进程
adb shell ps|findstr package
2.杀死进程
方法1:强制停止APP进程,不会清除APP进程在系统中产生的数据
adb shell am force-stop package
执行该命令后没有输出,手机对应进程已被杀死。
方法2:停止APP进程,并且清除这个APP进程产生的所有数据,相当于reset
adb shell pm clear package
执行该命令后输出success即表示命令执行成功,app进程被杀死,且会清楚所有数据,相当于卸载重装的效果,一般不建议使用。
Android Shell命令之dumpsys部分功能简介
adb简称 android debug bridge, 通过adb我们获得了查看android手机的另一个窗口。可以通过它看到一些内部的东西。
dumpsys则是其中一个很强大的工具。作用跟名字说的有点像,查看系统信息。
android下的每一个系统组件都有一个名字,如window, surfaceFinger, nfc, battery ...
所有这些服务都心照不宣的提供了一个 dump()的接口,供dumpsys命令调用。不过android有个奇葩的地方,每个手机出来的东西可能不一样,好多被那些厂商给改的面目全非。
先看一个dumpsys比较简单的应用
输入命令
$ adb shell dumpsys battery
Current Battery Service state:
AC powered: false
USB powered: true
status: 5
health: 2
present: true
level: 100
scale: 100
voltage:4195
temperature: 305
technology: Li-ion
看吧,直接把电池的各种参数都导出出来了。清晰的可以看到电池的温度是30.5摄氏度
如果需要拿到全部服务有哪些,可以使用命令 dumpsys | grep "DUMP OF SERVICE"
或者 adb shell service list
dumpsys 常用列表
下面我们就把常用的dumpsys服务一一列出来,可能很长很长
battery
$ adb shell dumpsys battery
Current Battery Service state:
AC powered: false
USB powered: true
status: 5
health: 2
present: true
level: 100
scale: 100
voltage:4195
temperature: 305
technology: Li-ion
wifi
adb shell dumpsys wifi
可以获取到当前连接的wifi名、搜索到的wifi列表、wifi强度等
power
adb shell dumpsys power
- 可以获取到是否处于锁屏状态:mWakefulness=Asleep或者mScreenOn=false
- 亮度值:mScreenBrightness=255
- 屏幕休眠时间:Screen off timeout: 60000 ms
telephony.registry
adb shell dumpsys telephony.registry
可以获取到电话状态,例如
- mCallState值为0,表示待机状态、1表示来电未接听状态、2表示电话占线状态
- mCallForwarding=false #是否启用呼叫转移
- mDataConnectionState=2 #0:无数据连接 1:正在创建数据连接 2:已连接
- mDataConnectionPossible=true #是否有数据连接
- mDataConnectionApn= #APN名称
其他,等我想到了再补充
参考资料
- http://stackoverflow.com/questions/11201659/whats-the-android-adb-shell-dumpsys-tool-and-what-are-its-benefits
- adb使用指南
android – 如何运行adb shell命令并保留在shell中?
我想要实现的是在adb shell中设置别名.
我试过以下没有成功
adb shell <<< "ls"
执行此命令后确实保留在shell中,但无法接收任何进一步命令的输出.
我也尝试过以下方法:
adb shell <<EOF ls EOF
结果相同.
解决方法
adb shell ls
您正在ADB之外运行此命令.
首先,您需要输入ADB:
adb shell
进入ADB shell后,您可以继续查看输出并输入更多命令.
ls help
要退出ADB,只需输入“exit”或点击“Ctrl C”
请让我知道这可不可以帮你!
关于Shell命令之编译/安装/运行/卸载iOS APP和shell卸载apk的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于adb shell命令查看app进程并kill、adb shell命令查看并杀死app进程、Android Shell命令之dumpsys部分功能简介、android – 如何运行adb shell命令并保留在shell中?的相关知识,请在本站寻找。
本文标签: