• 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

    郁闷,今天打开Android Studio 1.3时发现无法新建项目了,每次在输入项目名的那个页面点击Next后就没反应了,软件也被卡死了,然后呢,我就把sdk下的的/lib/libz.so.1链接删除了,把现有软件删除后重新从zip文件中解压出来后重新打开,又可以运行了,而且就是没有引入libz.so.1也可以编译Android项目,不知道怎么回事。

    怀疑:

    1,SDK终于下完整了。(不过我觉得不太可能,好像也没下什么特别的文件啊!)

    2,Ubuntu更新了。我的Ubuntu是64位的,装的是gnome3桌面系统,我发觉我的系统启动画面变了,原来启动时是直接从开始操作系统选择窗口跳至用户登录窗口,然后输入用户名密码就可登录,现在会在之间插入两屏字符刷一下屏,搞不懂,而且我感觉第一次登录系统后以图形化的方式启动软件好慢,以前就没这中感觉。

     

  • 相关阅读:
    ueditor精简插件和减少初次加载文件的方法
    The Art of Mocking
    What is a mocking framework? Why is it useful?
    黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系
    What is the purpose of mock objects?
    What is Mocking?
    APPENDIX: How to apply the Apache License to your work
    开源 ≠ 免费,开源协议License详解
    如何选择开源许可证?
    五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理
  • 原文地址:https://www.cnblogs.com/wangzhihua/p/4675682.html
Copyright © 2020-2023  润新知