【发布时间】:2018-05-30 19:32:51
【问题描述】:
我有一个大型旧项目要支持 Android。它是在旧的 Gradle 版本(2.2.3)下开发的。我曾经使用最新的 Android Studio,现在我正在尝试将此项目迁移到当前的 Gradle 版本(3.1.2)。
我已阅读 Google 提供的相关指南,并从中采纳了建议。我设法解决了除两个之外的所有问题。第一个是
警告:配置“编译”已过时,已替换为“实现”和“API”。
我在我的项目中进行了所有替换,据我所知,这是由依赖项中的库引起的。好吧,让我们忍受它。但第二个问题是
错误:资源 android:attr/foregroundInsidePadding 是私有的。 消息{种类=错误,文本=错误:资源 android:attr/foregroundInsidePadding 是私有的, 来源=[C:\Users\alexanderk.gradle\caches\transforms-1\files-1.1\appcompat-v7-25.1.1.aar\b3fbcbe446f57e45b23f5cfcf67ccbb9\res\values\values.xml:203:5-69], original message=, tool name=Optional.of(AAPT)}*
Google 的指南对此进行了如下说明
要解决此问题,只需将 android:foregroundInsidePadding 替换为 foregroundInsidePadding。
没关系,我打开问题文件values.xml,转到第 203 行,然后……奇怪,这里没有foregroundInsidePadding。而且整个xml中没有这个词。我尝试使 Gradle 缓存无效,但在 Gradle 重新创建缓存后问题再次出现。我不能忽视这一点,因为这个问题停止了。
有什么办法解决这个问题吗?
【问题讨论】: