Android studio提示找不到在项目中已经引入的部分依赖

问题描述:

Android studio提示找不到在项目中已经引入的部分依赖,但是硬打包运行也可以成功。

以MultiDex为例:

import android.support.multidex.MultiDex;//红字提示:Cannot resolve symbol 'MultiDex'

项目的.iml文件中能找到:

< orderEntry type="library" exported="" name="Gradle: com.android.support:multidex-1.0.1" level="project" />
< orderEntry type="library" exported="" scope="TEST" name="Gradle: com.android.support:multidex-instrumentation-1.0.1" level="project" />

$PROJECT_DIR$/.idea/libraries目录中找到Gradle__com_android_support_multidex_1_0_1.xml

<component name="libraryTable">
  <library name="Gradle: com.android.support:multidex-1.0.1">
<CLASSES>
  <root url="jar://$PROJECT_DIR$/[module_name]/build/intermediates/exploded-aar/com.android.support/multidex/1.0.1/jars/classes.jar!/" />
  <root url="file://$PROJECT_DIR$/[module_name]/build/intermediates/exploded-aar/com.android.support/multidex/1.0.1/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
  </library>
</component>

检查项目目录,发现[module_name]/build/intermediates/exploded-aar/目录不存在。

解决办法:

可以配置项目目录下的gradle.properties ,添加:

#停用BuildCache功能
android.enableBuildCache=false

然后重建项目即可在 [module_name]/build/intermediates/看到exploded-aar目录,import依赖也不再报错。

这是AS的BuildCache功能,即使用C:\Users\[user_name]\.android\build-cache目录下的缓存文件来代替exploded-aar,不过AS编译时又不识别了,简直是大水冲了龙王庙。删除该行或置为true即可重启该功能。

网上又搜了一遍,发现exploded-aar目录问题主要发生在Android Studio 2.3,Gradle Plugin 2.3.0(对应推荐使用 Gradle 3.3),已经在gradle plugin 2.5 版本修复好了。

Marked as Fixed

in 2.3/2.4 you can look in the build cache entries and look in the input file that indicate the source of the cache entry (maven coordinate).
in 2.5+ we switched to Gradle’s own cache so you’ll have to look in the gradle folder.
If all you need is manually get the aar content you could also manually download the aar and unzip it yourself.

查看 Issue 详情(需要梯子):Issue 页

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值