首页 > 解决方案 > 执行 getprop ro.build.version.release 等大多数命令时,ADB 不断崩溃

问题描述

我已经在我的 Windows 10 PC 和 Windows 7 笔记本电脑上安装了 ADB(带有 SDK 管理器),以便运行一些 appium 测试。但是,我无法继续进行测试,因为每当执行getprop ro.build.version.release 之类的命令时,ADB 都会不断崩溃(它实际上返回值然后崩溃)。打开设备监视器(如 scrcpy 或 appium studio)和更多操作也会出现同样的问题。

我能够成功执行adb devices

我注意到,每当我先运行adb shell然后再运行getprop ro.build.version.release 时,它​​都会返回没有崩溃的值。

崩溃是指“ADB 停止工作”窗口。

我使用 Appium 1.9.1 ADB 版本 1.0.40 --4986621 SDK 管理器中的所有内容都是最新的

这是我尝试运行的 VS 测试的日志:

消息:测试方法 UnitTestProject1.UnitTest1.TestMethod1 抛出异常:System.InvalidOperationException:处理命令时发生未知的服务器端错误。原始错误:获取设备 API 级别时出错。原始错误:执行 adbExec 时出错。原始错误:'Command 'H:\SDK\platform-tools\adb.exe -P 5037 -s 520080e95a9c1549 shell getprop ro.build.version.sdk' exited with code 3221226356'; 标准错误:''; 代码:'3221226356'</p>

我想这可能是由我的防病毒软件引起的,但是我想听听任何其他建议,因为我无法真正更改 AV 设置(它是公司设备)。

    [TestMethod]
    public void TestMethod1()
    {
        DesiredCapabilities cap = new DesiredCapabilities();
        cap.SetCapability("automationName", "Appium");
        cap.SetCapability("platformName", "Android");
        cap.SetCapability("platformVersion", "7.1.2");
        cap.SetCapability("deviceName", "Redmi 5 Plus");
        cap.SetCapability("udid", "07c92c189805");
        cap.SetCapability("appPackage", "com.android.vending");
        cap.SetCapability("appActivity", "com.android.vending.AssetBrowserActivity");
        cap.SetCapability("noReset", "true");


        driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.2:4724/wd/hub"), cap);

        Assert.IsNotNull(driver.Context);

    }

标签: androidadb

解决方案


我在 Appium 桌面客户端和 java 自动化框架上遇到了同样的问题。在我的本地将 appium 降级到旧版本并使用低于 9 的 Android 版本有帮助。


推荐阅读