你的位置:首页 > 操作系统

[操作系统]Ubuntu Linux14 64位下在Android studio下用gradle编译Andrid项目时发生libz.so.1共享库找不到的解决方法。


---恢复内容开始---

我在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

 

 

---恢复内容结束---