移动测试基础 [已解决] 如何打 uiautomator.jar 包

陆云达 · 2015年09月07日 · 最后由 cga2351 回复于 2019年02月11日 · 1824 次阅读

Android 源码环境打 uiautomator.jar 包(or Monkey 包)

首先感谢@doctorq的提点,没有这位大神的点拨,实在是无从下手。

具体详细的流程,我是参考了下面这 3 个链接,相信看到帖子的同学也可以从这些链接中顺利完成打包。

官方教程
CSDN 网友博客参考教程(非最新)
国内镜像

一开始偷懒,直接参考的博客教程,有些记录点:

  1. 该博客遗漏了需要安装 curl。
  2. 安装 repo 请用这个命令(博客上地址已不对):curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  3. 最要紧的,下源码的时候如果你没有 *** 也没有代理,请使用清华大学的镜像(参考上述国内镜像),最后源码下完有 3 40 个 G,从 google 下的话要好几天。。。
  4. repo sync 后,需要增加映射,然后直接 make uiautomator 即可 shell cd /usr/bin ln -s -f /usr/local/java/jdk1.6.0_31/bin/javah ln -s -f /usr/local/java/jdk1.6.0_31/bin/jar ln -s -f /usr/local/java/jdk1.6.0_31/bin/javadoc

原帖

因为某些需要,需要修改 UiObject.java 中的一小部分代码,但是不知道改完以后怎么打包新的 uiautomator.jar?
有没有大神不吝赐教,@monkey

琢磨了很久,现在大概就知道 sdk\sources\android-22\com\android\uiautomator\core,这个路径下面有源码
打完包后去替换手机上的/system/framework/uiautomator.jar 差不多就可以了
https://android.googlesource.com/platform/frameworks/uiautomator 这里也可以 clone 源码,但是仍然没有可以打成包的配置文件

共收到 9 条回复 时间 点赞

在 android 源码环境下,编译一下就可以了。

#1 楼 @doctorq 是可以只打 uiautomator 的 jar 包嘛?

和普通 java 的 jar 包一样,个人建议最好是扩展。

#3 楼 @yanfei_wu 主要是没有工程,也不知道怎么搞打包的配置文件

#4 楼 @doctorq 谢啦,我试试~

已更新打包方法,再次感谢@doctorq

@eurekasaber 你好,请问你是怎么打包 uiautomator.jar 的,我打出来的 uiautomator.jar 是 dex 格式,不是普通的 jar 包,
我看了一下,frameworks/base/cmds/uiautomator/library/Android.mk 中也是编译的 static,“include $(BUILD_STATIC_JAVA_LIBRARY)”,但是打出的包始终是 dex 格式,
请问你有修改什么配置文件吗,谢谢

@DoctorQ 你好,请问生成 uiautomator.jar 需要修改什么配置文件吗,我编译出来的 uiautomator.jar 是 dex 格式,不是普通的 jar 包,
我看了一下,frameworks/base/cmds/uiautomator/library/Android.mk 中也是编译的 static,“include $(BUILD_STATIC_JAVA_LIBRARY)”,但是编译出来的包始终是 dex 格式,
请问如何编译普通格式的 uiautomator.jar 包呢,不是 dex 格式的,谢谢

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