梦书之家(移动开发)

你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。 ——肖伯纳

导航

< 2025年5月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

统计

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

 

posted on   梦书  阅读(5485)  评论(0)    收藏  举报

编辑推荐:
· 突破Excel百万数据导出瓶颈:全链路优化实战指南
· 如何把ASP.NET Core WebApi打造成Mcp Server
· Linux系列:如何用perf跟踪.NET程序的mmap泄露
· 日常问题排查-空闲一段时间再请求就超时
· Java虚拟机代码是如何一步一步变复杂且难以理解的?
阅读排行:
· 如何把ASP.NET Core WebApi打造成Mcp Server
· 排行榜的5种实现方案!
· 在 .NET 中使用 Sqids 快速的为数字 ID 披上神秘短串,轻松隐藏敏感数字!
· 突破Excel百万数据导出瓶颈:全链路优化实战指南
· ChatGPT为何放弃WebSocket?揭秘EventSource的三大决胜优势
历史上的今天:
2012-03-14 下载 CM源代码
点击右上角即可分享
微信分享提示