---恢复内容开始---
我在Ubuntu14 64为下安装了AS,但在用Gradle编译项目时总是报找不到 libz.so.1的错误。
error while loading shared librarieserror while loading shared libraries: : libz.so.1libz.so.1: : cannot open shared object filecannot open shared object file: : No such file or directoryNo such file or director
上面的就是所报的错误,表示这个共享库找不到了。
下面使用apt-file命令搜索这个文件,首先如果系统中没安装这个命令的要先安装:
sudo apt-get install apt-file
有可能会提示你更新
sudo apt-file update
使用命令搜索:
sudo apt-file search libz.so.1
我的系统所得到的结果:
lib32z1: /usr/lib32/libz.so.1
lib32z1: /usr/lib32/libz.so.1.2.8
libx32z1: /usr/libx32/libz.so.1
libx32z1: /usr/libx32/libz.so.1.2.8
zlib1g: /lib/x86_64-linux-gnu/libz.so.1
zlib1g: /lib/x86_64-linux-gnu/libz.so.1.2.8
开始的时候我进入了/usr/lib32,但没发现有libz.so.1这个文件,尽管查出来了,但就是没看到在那。
至于/usr/libx32,我TMD连这个目录都打不开,提示不存在,好吧,linux新手,很多都搞不懂.
然后我进入/lib/x86_64-linux-gnu/目录下,发现libz.so.1只不过是一个链接文件,链接的是libz.so.1.2.8,好吧,不管那么多,
将libz.so.1.2.8复制到SDK中的build-tools/lib/ 目录下,当然,名称最好改为libz.so.1最好。(其实也可以用软链接,不过我在网上看到有的网友说软链接有问题,嘛,新手还是保险低点,先把问题解决在说其他的。)
然后再用as编译 ,在日志中还是有错误,不过错误变成了无法使用当前64位的共享库,嘛,好像是因为SDK只有32位的,所以64位的共享库无法使用,好吧,看来只有使用32位的了。
使用命令:
sudo apt-get install lib32z1
一定要sudo才行哦。然后在到/usr/lib32目录下去就看到有了libz.so.1.2.8这个文件,好了,将这个文件复制或链接到build-tools/lib/ 下就可以了。
花了我一天,其实也不是什么复杂的东东,只能说,百度真的很烂。
参考:http://www.th7.cn/system/lin/201503/95956.shtml
---恢复内容结束---