android项目正常运行但包爆红,android studio 升级3.1版本导包爆红问题

先上两张图:

96e2db068fa9

[导包爆红.png]

96e2db068fa9

external libraries中已加载.png

这是 AS 升级 3.1 后出现的问题,很奇怪明明 lib 已经加载了为什么项目中导入却报错。出现问题了就要解决。

1. 经验告诉我们遇到爆红首先 clean 或 rebuild。结果:失败。

96e2db068fa9

image.png

2. 继续清楚缓存,重启 AS。结果:失败。

96e2db068fa9

image.png

3. 求助 搜索引擎,有说删除 .gradle 文件,重新加载,我还真试了,花了半天时间证明不行。结果:失败。

4. 绝望之际想想或许从官网能找到答案。还真找到了答案:

96e2db068fa9

image.png

从图中一下可以看出来:

implemention 依赖项在编译时对模块可用,并且仅在运行时对模块的消费者可用。

api 依赖项在编译时对模块可用,并且在编译时和运行时还对模块的消费者可用。

问题找到了,我们项目 app 中引入本地 library,而 library 中用 implemention 方式引用了很多第三方库,如官方描述那样,其实 implemention 只对改模块可用,所以我们的 app 导入不了 library 加载的第三方库。那么只要把 library 中的 implemention 依赖方式改成 api 依赖方式即可。

后来从 万能的 stackoverflow 中也找到了答案,第二个回答详细说明了 implemention 与 api 两种依赖方式的不同。

5. 总结,本来一个很小的问题却花费了我差不多一天的时间,究其原因还是没有认真阅读官方文档。太凭感觉干活,这个要不得,以后切记先阅读官方文档。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您在 IntelliJ IDEA 中的项目中看到了 `.idea/libraries` 目录中的库文件出现红色错误标记,则可能是由于以下原因之一: 1. 缺少库文件:如果您在项目中使用的库文件不存在或已删除,则该库文件将显示为红色,并且会出现错误标记。您需要检查库文件的路径是否正确,并确保该文件存在于正确的位置。 2. 库文件已被移动:如果您将库文件移动到了新的位置,但是在 IntelliJ IDEA 中的配置文件中该文件的路径没有更新,则该库文件将显示为红色,并且会出现错误标记。您需要更新库文件的路径。 3. 缺少依赖项:如果库文件依赖于其他库文件,但是这些依赖项不存在或已删除,则该库文件将显示为红色,并且会出现错误标记。您需要确保所有必需的依赖项都存在于项目中。 为了解决这些问题,您可以尝试执行以下操作: 1. 重新导入库文件:在 IntelliJ IDEA 中,您可以通过选择 File -> Project Structure -> Libraries 来重新导入库文件。 2. 更新库文件的路径:如果您将库文件移动到新的位置,则可以通过选择 File -> Project Structure -> Libraries 来更新库文件的路径。 3. 检查依赖项:如果库文件依赖于其他库文件,则您需要确保这些依赖项存在于项目中,并且它们的路径已正确配置。 如果上述方法无法解决问题,请尝试重新创建 IntelliJ IDEA 项目或清除项目缓存。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值