/// <summary>
        /// 更新设备信息
        /// </summary>
        /// <param name="device"></param>
        private void UpdateNewDevice(Device device)
        {
            var pros = AndroidDeviceHelper.GetProperteis(device);

            device.OSType        = EnumOSType.Android;
            device.DeviceManager = AndroidDeviceManager.Instance;

            if (pros.IsValid())
            {
                device.Properties   = pros;
                device.SerialNumber = device.GetProperty("ro.serialno").Trim();
                device.Manufacture  = device.GetProperty("ro.product.manufacturer") ?? "unknow";
                device.Brand        = device.GetProperty("ro.product.brand") ?? "unknow";
                device.Model        = device.GetProperty("ro.product.model") ?? "unknow";
                device.Name         = device.GetProperty("ro.product.name") ?? "unknow";
                device.OSVersion    = device.GetProperty("ro.build.version.release") ?? "unknow";
            }

            //获取手机的IMEI号,不同手机Key不一样,且当它为空时,取MEID号代替。
            if (device.IMEI.IsInvalid())
            {
                AndroidDeviceHelper.GetIMEINumber(device);
            }
            if (device.IMSI.IsInvalid())
            {
                AndroidDeviceHelper.GetIMSINumber(device);
            }

            //获取设备su命令和ls命令格式 以及是否root的信息
            device.SU = "su -c \"{0}\" ";
            device.LS = "ls -l \"{0}\"";

            device.IsRoot = AndroidDeviceHelper.CanSU(device);

            if (!device.IsRoot)
            {
                device.SU     = "su -c {0} ";
                device.IsRoot = AndroidDeviceHelper.CanSU(device);

                if (!device.IsRoot)
                {
                    device.SU     = "{0}";
                    device.IsRoot = AndroidDeviceHelper.CanSU(device);
                    if (!device.IsRoot)
                    {
                        device.SU = "su -c \"{0}\" ";
                    }
                }
            }

            //获取设备的SD卡路径
            device.SDCardPath = AndroidDeviceHelper.GetSDCardPath(device);

            //获取设备的内存容量信息
            AndroidDeviceHelper.GetDiskCapacityInfo(device);
        }
        private void DoOneDeviceMonitor()
        {
            //1.获取当前连接列表
            List <Device> devices = null;

            int iRestartAttemptCount = 0;

            do
            {
                devices = FindCurConnectDevices();

                iRestartAttemptCount++;
                if (null == devices && iRestartAttemptCount >= ConstCodeHelper.MONITOR_ATTEMPTCOUNT)
                {//如果多次查找都返回null 说明adb连接失败 考虑重启ADB服务
                    LoggerManagerSingle.Instance.Error("多次创建ADB连接失败,开始重启ADB服务!");

                    AndroidDeviceHelper.StopADB();
                    AndroidDeviceHelper.StartADB();
                    return;
                }
            } while (null == devices);

            //2.获取新增设备和断开连接设备
            var sameds        = CurConnectDevs.Where(s => devices.Any(sd => sd.Equals(s))).ToList();
            var newConnecnted = devices.Except(CurConnectDevs).ToList();
            var disConnecteds = CurConnectDevs.Except(devices).ToList();

            foreach (var same in sameds)
            {
                //如果基本属性获取不成功,则重试一次
                if (same.Model == null || same.Manufacture == null)
                {
                    UpdateNewDevice(same);
                }
            }

            foreach (var add in newConnecnted)
            {
                UpdateNewDevice(add);

                OnConnected(add);
                CurConnectDevs.Add(add);
            }

            foreach (var dis in disConnecteds)
            {
                OnDisconnected(dis);
                CurConnectDevs.Remove(dis);
            }
        }
 public override void DoSelfPretection()
 {
     AndroidDeviceHelper.StopADB();
     AndroidDeviceHelper.StartADB();
 }