CentOS 6.7下Android SDK adb 命令报错的解决方法

来源:互联网 发布:传感器数据采集系统 编辑:程序博客网 时间:2024/06/11 05:20

最近的任务是在使用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 就能够成功调用它了。

第一种方法成功解决了问题。

0 0
原创粉丝点击