• Execution failed for task ':compileDebugAidl'.


    昨天终于升级了下Ubuntu系统到16.04LTS,之前是12.04LTS(导致内网一些同事开发的网址无法打开,以及其他工具软件无法安装)。

    安装完android开发工具,运行之前的project,出现如下的错误:

    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':compileDebugAidl'.
    > java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing '/opt_dev/android-sdk-linux_new/build-tools/23.0.3/aidl' with arguments {-p/opt_dev/android-sdk-linux_new/platforms/android-26/framework.aidl -o/home/dream/workspace/NewUserHomePage/build/generated/source/aidl/debug}
    
    * Try:

    google了下,网上的错误跟这个还不一样都是missing aidl 替换或者重新安装build tools版本即可,在stackoverflow上有个人跟我一样的问题,但是没有人回复。

    我以为是我的sdk的问题,这个sdk来自之前的系统安装的,所以重新下了个sdk,还是出现这样的错误。

    接着怀疑是不是android studio/gradle的问题,都重新部署了,还是有问题。

    后来,在android studio 中点开Gradle console,才终于找到问题所在:

    :compileDebugAidl
    /opt_dev/android-sdk-linux_new/build-tools/23.0.3/aidl: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
    
    /opt_dev/android-sdk-linux_new/build-tools/23.0.3/aidl: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
    
    
     FAILED
    
    /opt_dev/android-sdk-linux_new/build-tools/23.0.3/aidl: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
    
    /opt_dev/android-sdk-linux_new/build-tools/23.0.3/aidl: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory

    直觉是,这个aidl共享库引用了32位的libgcc_s.so,但是系统里面没有这个,所以运行如下的命令:

    sudo apt-get install lib32gcc1

    重新build,OK了

    奇怪的是,我之前安装过32位的兼容so了啊,可能不全吧

    android sdk的很多so或者工具都是基于32位系统开发的,而Ubuntu 16.04 是64位系统(可以运行 uname -a 来查看,有x86_64的就是了),所以需要安装一些32位的so

  • 相关阅读:
    Java多线程之线程安全队列Queue与同步容器
    Java的四种引用方式
    java编程使用freemarker导出word问题
    Hive 报错:java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
    windows10上Eclipse运行MapReduce wordcount程序遇到的坑
    HDFS中namenode启动失败
    【将文件中字符串赋值到 ArrayList 中】
    【把 ArrayList 集合中的字符串内容写到文本文件中】
    【复制文本:按行复制文件】
    【复制文本:字符缓冲流】
  • 原文地址:https://www.cnblogs.com/mengshu-lbq/p/compileDebugAidl.html
Copyright © 2020-2023  润新知