UiAutomator 关于 Uiautomator 的源码讨论

大浪 · 2017年05月24日 · 最后由 雨墨轩痕 回复于 2019年01月08日 · 1761 次阅读

最近在看 uiautomator 的源码,UiDevice 的初始化操作:

private UiDevice() {
      /* hide constructor */
  }

  /**
   * @hide
   */
  public void initialize(UiAutomatorBridge uiAutomatorBridge) {
      mUiAutomationBridge = uiAutomatorBridge;
  }


/**
   * Retrieves a singleton instance of UiDevice
   *
   * @return UiDevice instance
   * @since API Level 16
   */
  public static UiDevice getInstance() {
      if (sDevice == null) {
          sDevice = new UiDevice();
      }
      return sDevice;
  }

UiDevice 初始化这块应该是拿到 UiAutomatorBridge 对象,但是这一部分被隐藏了,有个疑问是 UiAutomatorBridge 是怎么实例化的?

共收到 4 条回复 时间 点赞

你看的是 Uiautomator1.0 的源码吗?我记得是在 uiautomatorTestRunner 的 start 方法中实例化 UiautomatorBridge 对象,并调用 UiDevice 的 initialize 方法的。你可以翻下源码看下。

—— 来自 TesterHome 官方 安卓客户端

Crazyerick 回复

是的 ,感谢回答,已经了解了

兄弟,最近在学习 Appium,想了解下 UiAutomator 的源码,但是发现网上下载的都是 2.0 的,或者已经被改成基于 Instrumentation 实现的源码,想找一份 UiAutomator1.0 的源码,可以提供一下嘛?qq:738859898

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册