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

       最近做 iOS 相关的事情比较多,发现其实 iOS 下还是有很多和 android 可以对应的操作,所以在此记录一下。

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

$ 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值