Example #1
0
        public static bool lureninstallOk(int dqinx, string apppackage, Action myinstall)
        {
            WriteLog.WriteLogFile(dqinx + "", "检测安装是否成功" + apppackage);
            bool t = false;
            //隔30秒检测是否安装成功
            long ksjs   = MyFuncUtil.GetTimestamp();
            long ks     = MyFuncUtil.GetTimestamp();
            long ks2    = MyFuncUtil.GetTimestamp();
            bool luren  = false;
            int  yici   = 0;
            int  zhuang = 0;

            while (true)
            {
                if (yici == 0)
                {
                    yici = 1;
                    WriteLog.WriteLogFile(dqinx + "", "开头要检测安装一次" + apppackage);
                    luren = MyLdcmd.jingjieisok(dqinx, apppackage);
                    if (!luren)
                    {
                        WriteLog.WriteLogFile(dqinx + "", "开头不成功,安装一次" + apppackage);
                        myinstall();
                    }
                }
                long js = MyFuncUtil.GetTimestamp();
                if ((js - ks) > 30 * 1000)
                {
                    luren = MyLdcmd.jingjieisok(dqinx, apppackage);
                    ks    = MyFuncUtil.GetTimestamp();
                    WriteLog.WriteLogFile(dqinx + "", "30s检测安装一次" + apppackage + "检测结果:" + luren);
                }
                if ((js - ksjs) > 4 * 60 * 1000)
                {
                    WriteLog.WriteLogFile(dqinx + "", "4分钟了,安装app没成功" + apppackage);
                    break;
                }
                if (luren)
                {
                    WriteLog.WriteLogFile(dqinx + "", "安装app成功" + apppackage);
                    t = true;
                    break;
                }
                if (zhuang < 1 && !luren && (js - ks2) > 60 * 1000)
                {
                    WriteLog.WriteLogFile(dqinx + "", "准备安装app,restore或者install");
                    myinstall();
                    ks2 = MyFuncUtil.GetTimestamp();
                    zhuang++;
                }
            }
            return(t);
        }
Example #2
0
        public void getIP(int dqinx, string dizhi, string seed, int jubing, int waicengjubing, out string ip)
        {
            WriteLog.WriteLogFile(dqinx + "", "获取IP,jubing:" + jubing + ",waicengjubing:" + waicengjubing);
            ip = "";
            bool   t           = false;
            string packagename = "package:com.ddm.iptools";
            //lock (obj)
            {
                t = MyFuncUtil.lureninstallOk(dqinx, packagename, () =>
                {
                    WriteLog.WriteLogFile(dqinx + "", "安装app没成功--iptools");

                    /*temp = myQuit(dqinx, dizhi);
                     * if (!temp)
                     * {
                     *  WriteLog.WriteLogFile(dqinx + "", "模拟器" + dqinx + "关闭失败");
                     *  Thread.Sleep(20000);
                     *  return;
                     * }*/
                    WriteLog.WriteLogFile(dqinx + "", "模拟器" + dqinx + "安装iptools");
                    //MyLdcmd.myRestore(dqinx, seed, dizhi);
                    MyLdcmd.installApp(dqinx, @"C:\迅雷下载\2_1b823b1928a42f09423f28cb79179bfe.apk");

                    /*temp = myQuit(dqinx, dizhi);
                     * if (!temp)
                     * {
                     *  WriteLog.WriteLogFile(dqinx + "", "模拟器" + dqinx + "关闭失败");
                     *  Thread.Sleep(20000);
                     *  return;
                     * }
                     * temp = MyFuncUtil.Launch(dqinx, dizhi);
                     * if (!temp)
                     * {
                     *  WriteLog.WriteLogFile(dqinx + "", "模拟器" + dqinx + "打开失败");
                     *  Thread.Sleep(20000);
                     *  return;
                     * }*/
                    Thread.Sleep(3000);
                });
                if (t == false)
                {
                    Thread.Sleep(1000 * 60 * 2);
                    bool luren = MyLdcmd.jingjieisok(dqinx, packagename);
                    if (!luren)
                    {
                        return;
                    }
                }
                //窗口已打开 获取句柄
                if (jubing <= 0)
                {
                    WriteLog.WriteLogFile(dqinx + "", "准备获取句柄,在getIP处");
                    jubing = MyLdcmd.getDqmoniqiJuBingByIndex(dqinx, dizhi);
                    WriteLog.WriteLogFile(dqinx + "", "模拟器" + dqinx + "句柄为" + jubing);
                }
                myDm dm = new myDm();
                int  r1 = 0;
                if (jubing > 0)
                {
                    r1 = dm.bindWindow(jubing);
                }
                if (r1 != 1)
                {
                    WriteLog.WriteLogFile(dqinx + "", "模拟器" + dqinx + "绑定失败");
                    Thread.Sleep(20000);
                    return;
                }
                //dm.SetClipboard("请");
                //apkName = dict["IPtool"];
                string apkName = "com.ddm.iptools/com.ddm.iptools.ui.MainActivity";
                //int i = MyFuncUtil.QiDongWanChengLurenzhanghao("d", dqinx, apkName);
                fuzhu.YouXiFactory yxf = new fuzhu.YouXiFactory();
                int i = QiDongWanChengGetZhiDingDian(dqinx, apkName, dm, jubing, yxf.CreateYouXiSanDian("tongyongsandian"), "IPtool");
                if (i == -1)
                {
                    WriteLog.WriteLogFile(dqinx + "", "模拟器" + dqinx + "打开app" + apkName + "失败");
                    Thread.Sleep(20000);
                    return;
                }
                string yiqu = "";
                bool   t2   = PanDuan_QidongByYiQuDian_IP(dqinx, 1000 * 60, dm, jubing, out yiqu);
                if (t2)
                {
                    WriteLog.WriteLogFile(dqinx + "", "模拟器发现已取点" + yiqu);
                }
                ip = yiqu;

                /*if (ip != "" && ip.IndexOf("请") < 0)
                 * {
                 *  return;
                 * }  */
            }
        }