您的位置:首页 > 运维架构 > Shell

Shell命令之Android及iOS常用操作命令

2017-06-28 16:21 471 查看
最近做 iOS 相关的事情比较多,发现其实 iOS 下还是有很多和 android 可以对应的操作,所以在此记录一下。

备注: iOS 用到的
ideviceinstaller
idevicesyslog
等命令安装命令为:

$ brew uninstall ideviceinstaller
$ brew uninstall libimobiledevice
$ brew install --HEAD libimobiledevice
$ brew link --overwrite libimobiledevice
$ brew install ideviceinstaller
$ brew link --overwrite ideviceinstaller


应用相关

1、 安装应用(真机)

Android

adb install xxx.apk


iOS

ideviceinstaller -i xxx.ipa


2、 卸载应用(真机)

Android

adb uninstall <packageName>


iOS

ideviceinstaller -U <bundleId>


3、 获取应用唯一标识

其实也不算唯一标识了,只是大部分操作会用到。

Android: packageName

获取方式很多,只举其中一个比较容易的:

$ apktool d xxx.apk -o xxx
$ cd xxx
$ cat AndroidManifest.xml | grep -o "package=\".*\"" | sed "s/package=\"//g" | sed "s/\"//g"
com.test


iOS:bundleId

$ unzip xxx.ipa
$ cd Payload/xxx.app
$ defaults read `pwd`/Info CFBundleIdentifier
com.test


4、从源码构建应用安装包

这里只举 debug 包

Android

现在 android studio 项目已经很流行了,所以就不说 ant 了

$ cd /source-folder/
# 注意:没翻墙情况下貌似不能自动下载 gradle ,那么可以自行下载 gradle 后用 gradle 的 bin 文件代替此处的 gradlew 。
$ ./gradlew build
# build 完的 apk 包放在 Application/build/outputs/apk 中


iOS 真机

$ cd /source-folder/
$ PROJECT=<your-project-name>
$ xcodebuild clean -project $PROJECT.xcodeproj -configuration Debug -alltargets
$ xcodebuild archive -project $PROJECT.xcodeproj -scheme $PROJECT -archivePath $PROJECT.xcarchive
# 注意,末尾的 exportProvisioningProfile 参数值是在 Xcode 的 Performance->Accounts->Apple ID->View Details 窗口的下半部分看到的名称。如 iOS Team Provisioning Profile: chj.ToDoList
$ xcodebuild -exportArchive -archivePath $PROJECT.xcarchive -exportPath $PROJECT -exportFormat ipa -exportProvisioningProfile "your provision profile"
# build 完的 ipa 包直接就放在当前目录


设备相关

1、查看设备中的应用列表

Android

$ adb shell pm list packages
package:com.miui.gallery
package:com.xiaomi.tv.gallerylockscreen
...


如果有 drozer 的话能显示得更清晰

dz> run app.package.list
com.miui.gallery (图库)
com.xiaomi.tv.gallerylockscreen (锁屏画报)
...


iOS

$ ideviceinstaller [-u <device-udid>] -l
Total: 46 apps
com.xiaojukeji.didi - 滴滴出行 4.1.5.0
com.tencent.mqq - QQ 6.0.0.424
...


2、获取真机实时日志

Android

adb [-s <device-name>] logcat


iOS

idevicesyslog [-u <device-udid>]


3、获取当前连接的设备列表

Android

$ adb devices


iOS

# 注意:这里列出的设备包括模拟器及 mac 电脑本身
$ instruments -s devices


补充:

mac安装以下内容:

brew install usbmuxd
brew install ideviceinstaller


可以获取ios手机的udid

idevice_id -l


对于脚本中要使用默认设备的场景很方便。

ideviceinfo 获取ios手机信息
ideviceinfo -x 获取ios手机信息,并以xml形式显示

ideviceinfo -k ProductType 获取手机型号
ideviceinfo -k ProductVersion 获取系统版本
ideviceinfo -k DeviceName 获取手机名称


转自:https://testerhome.com/topics/3766
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: