今天遇到一个问题,从windows切换到ubuntu后,安装Android Studio, 原本一切正常。但是打开以前的项目时出现了这样一个错误:
Error:Execution failed for task ':viewPagerIndicator_lib:compileDebugAidl'.
> java.lang.IllegalStateException: aidl is missing
于是百度google了一下,网上的说法都是因为compileSdkVersion 与 buildToolsVersion不一致导致的。处理办法也比较简单,就是使用project structure将compileSdkVersion与buildToolsVersion设置为匹配即可。
但是本人按此操作后,问题仍然存在,并且引起了我的思考:
在说思考之前要说说我之前的环境。因为android 的SDK Platform及SDK Tools都是分版本的,而且很大,所以我是将其单独保存在另一块硬盘上。意思即,我现在Ubuntu使用的SDK Platform与Tools都是之前windows时下载好的
回到刚刚的思考:
- 项目在windows下是好好的,为什么到了ubuntu下就报错
- SDK Platform 与Tools是一样的,为什么到了ubuntu下就报错
- 按网上大家分享的经验,将compileSdkVersion 与 buildToolsVersion重新调整设置为对应,为什么仍然报错
经过几次折腾之后,我想到,是否是因为windows下SDK Platform与Tools和Linux下的不同,于用更改SDK目录,全部重新下载,同步,OK。
所以原因在这里。
所以,我想类似于为什么从windows转到mac,ubuntu开发会出现aidl is missing的问题,一方面看看是否是compileSdkVersion 与 buildToolsVersion不一致,另一方面估计就是我遇到的问题了。
以上问题记录,供参考