iOS 命令行工具之 mobiledevice

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 命令行工具之 mobiledevice相关的知识,希望对你有一定的参考价值。

参考技术A 以下为翻译内容

为了获取设备上安装的所有app列表:

输出类似内容如下:

为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下

显示某个app的属性,你可以使用下面的命令

输出类似内容如下:

为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下

备注:

显示某个app的属性值,你可以使用下面的命令

举例,如果你想获取苹果天气app的安装路径,你可以使用 path 属性:

为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下

备注:

安装一个app到设备,你可以这样做:

为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下

备注:

卸载一个app,你需要提供 bundle identifier

为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下

备注:

假如你的app建立了一个监听某个端口的TCP server,通过USB访问这个端口是非常有用的(无需通过WIFI/3G)。设备允许你建立一个通道在电脑和设备之间通过USB接口,你通过访问电脑上的某个端口,手机会将这个连接转到具体的监听端口通过如下命令:

如果先前的例子视图解释和说明Mac‘s TCP 端口 8080 和设备的TCP端口80,内容输出如下

如此你可以通过 telnet localhost 8080 和手机端开启的TCP 80端口服务进行通信

为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下

备注:

这是一个公共命令,跟 MobileDevice Framework没有关系。为了获取标示符(e.g. com.mycompany.myapp)你可以使用如下命令,必须是一个可用的.app文件不是.ipa!)

备注:

找到一个bug? 或者想增加一个功能?
你可以fork这个工程,并且给我提一个合入申请

mobiledevice使用的是MIT 授权
www.opensource.org/licenses/MIT

WebDriver 协议
w3c
XPath
classchain
predicate query

Java IO流 之 File 键盘命令行实例

http://www.verejava.com/?id=17160055387849

import java.io.File;
import java.util.Scanner;

public class Test {

    private boolean flag=true;
    private String fileName1;
    private String fileName2;
    public Test() {
        
//        通过工具类 FileUtil 实现键盘输入 命令行程序
        
            System.out.println("列出目录内容 (dir )  或者 (dir 目录名)");
            System.out.println("创建文件(mkfile 文件名)");
            System.out.println("重命名文件或目录(rename 原文件 新文件)");
            System.out.println("删除文件(rm 文件名)");
            System.out.println("创建一级目录 (mkdir 目录名)");
            System.out.println("创建多级目录 (mkdirs 目录名)");
            System.out.println("删除目录 (rmdir 目录名)");
        Scanner in=new Scanner(System.in);
        while(flag)
        {
            String input=in.nextLine();
            String[] inputs=input.split(" ");
            String command=inputs[0];
            if(inputs.length>=2)
            {
                fileName1=inputs[1];
            }
            if(inputs.length>=3)
            {
                fileName2=inputs[2];
            }
            
            if("dir".equals(command))
            {
                //列出目录内容 (dir )
                dir();
            }
            if("mkfile".equals(command))
            {
                mkfile();
            }
            if("rename".equals(command))
            {
                rename();
            }
            if("rm".equals(command))
            {
                rm();
            }
            if("mkdir".equals(command))
            {
                mkdir();
            }
            if("mkdirs".equals(command))
            {
                mkdirs();
            }
            if("rmdir".equals(command))
            {
                rmdir();
            }
            if("q".equals(command))
            {
                flag=false;
            }
        }
        
    }
    
    private void rmdir()
    {
        //删除目录 (rmdir 目录名
        FileUtil.deleteDirs(fileName1);
        dir();
    }
    
    private void mkdirs()
    {
        //创建多级目录 (mkdirs 目录名)
        FileUtil.createDirs(fileName1);
        dir();
    }
    
    private void mkdir()
    {
        //创建一级目录 (mkdir 目录名)
        FileUtil.createDir(fileName1);
        dir();
    }
    
    private void rm()
    {
        //删除文件(rm 文件名)
        FileUtil.deleteFile(fileName1);
        dir();
    }
    
    private void rename()
    {
        //重命名文件或目录(rename 原文件 新文件)
        FileUtil.renameFile(fileName1, fileName2);
        dir();
    }
    
    private void mkfile()
    {
        //创建文件(mkfile 文件名)
        FileUtil.createFile(fileName1);
        dir();
    }
    
    private void dir()
    {
        File dir=new File(".");
        File[] dirs=dir.listFiles();
        for(int i=0;dirs!=null&&i<dirs.length;i++)
        {
            File f=dirs[i];
            System.out.println(f.getName());
        }
    }

    public static void main(String[] args) {
       new Test();
    }
}

http://www.verejava.com/?id=17160055387849

以上是关于iOS 命令行工具之 mobiledevice的主要内容,如果未能解决你的问题,请参考以下文章

Java IO流 之 File 键盘命令行实例

请详细介绍一些命令行工具(第三方工具)

iOS开发逆向之应用重签名(下)

iOS 常用命令行工具使用方法

MySQL命令行客户端工具之mycli

Linux系统之dool命令行工具的基本使用