最近的任务是在使用monkey来对整机做压力测试,这项工作不是很难,但是部署到服务器上做持续集成时,出了各种的小状况。
GLIBC_2.14 not found
Unable to start adb server: Unable to detect adb version, adb output: /data/programs/android-sdk/platform-tools/adb: /lib64/libc.so.6: version ‘GLIBC_2.14’ not found (required by /data/programs/android-sdk/platform-tools/adb) /data/programs/android-sdk/platform-tools/adb: /lib64/libc.so.6: version ‘GLIBC_2.15’ not found (required by /data/programs/android-sdk/platform-tools/adb)
真心不懂这个是什么问题,之前在ubuntu上都没出现。
google了老半天,发现是因为我们的系统版本不支持高版本的 glibc,这个问题也是最新的platform-tools才会有的问题
最后终于在android-studio-not-communicating-with-adb-glibc-not-found-error 上找到了答案,我们这里只需要替换回原先版本的platform-tools就可以来。以下是下载链接platform-tools_r23.0.1-linux 覆盖安装后,
又出现了新的问题
error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
这个问题是32位的文件在64位系统上运行的问题
yum install libgcc
成功解决此问题
jenkins 权限 用户组问题
成功解决了上述的问题,可是新问题又出现了,jenkins下拉代码的时候总是显示adb 命令未找到
这可真是难为我了,我已经在环境变量里面配置了platform-tools的路径了,你怎么就找不到呢。
找了好久的原因,无意间看到jenkins的系统环境配置里面的页面显示是这样的。
怎么环境变量里面没有我配置的路径呢。再往下看发现,我去 Jenkins当前运行使用的用户是root
顿时有点小明白了,因为我配置环境变量都是针对于我当前的用户cloud,而对于root用户它确实是不认识的。可是问题来了,为什么Jenkins运行是使用的root的权限运行的。
问题还是需要回到安装tomcat的时候,当时安装的时候使用的是sudo 的命令进行安装的,所以就导致来这个文件的权限以及创建者为root了。
纳既然知道了问题,要如何修改呢:
有两种方式,
1. 修改tomcat 的所有者的改成我当前的用户
2. 在 usr/bin 路径下新增一个软链接到adb的路径下,这样子 root 就能够成功调用它了。
第一种方法成功解决了问题。