【问题标题】:Migrating old project to Android Plugin for Gradle 3.1.2将旧项目迁移到 Android Plugin for Gradle 3.1.2
【发布时间】: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 重新创建缓存后问题再次出现。我不能忽视这一点,因为这个问题停止了。

有什么办法解决这个问题吗?

【问题讨论】:

    标签: android gradle


    【解决方案1】:
    appcompat-v7-25.1.1.aar\b3fbcbe446f57e45b23f5cfcf67ccbb9\res\values\values.xml
    

    看起来它抱怨的不是你项目中的 values.xml,而是 appcompat 库中的一个。尝试提升支持库版本

    【讨论】:

    • 你说得对,这与我项目中的价值观无关。我完全根据错误消息中的路径直接从 Gradle 缓存中打开了问题 values.xml。是的,我试图更改 appcompat 库的版本(到最新版本),错过了在问题中写下这个。这没有帮助。而且随机查看不同版本的库似乎不是一个好主意......或者我不太明白你所说的“bump version”是什么意思?
    猜你喜欢
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多