標籤:
---恢複內容開始---
我在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
---恢複內容結束---
Ubuntu Linux14 64位下在Android studio下用gradle編譯Andrid項目時發生libz.so.1共用庫找不到的解決方案。