将旧项目迁移到Gradle 3.1.2的Android插件

时间:2018-05-30 19:32:52

标签: android gradle

我有一个很大的旧项目供Android支持。它是在旧的Gradle版本(2.2.3)下开发的。我曾经使用最新的Android Studio,现在我正在尝试将此项目迁移到当前的Gradle版本(3.1.2)。

我已经阅读了Google关于此的指南并从中应用了推荐。我设法解决了除了两个问题之外的所有问题。第一个是

  

警告:配置'compile'已过时,已替换为'implementation'和'api'。

我在我的项目中进行了所有替换,据我所知,它是由依赖项库创建的。好吧,让我们忍受吧。但第二个问题是

  

错误:资源android:attr / foregroundInsidePadding是私有的。   消息{kind = ERROR,text = error:resource   android:attr / foregroundInsidePadding是私有的。,   源= [C:\用户\ alexanderk.gradle \缓存\变换-1 \文件-1.1 \程序兼容性-v7-25.1.1.aar \ b3fbcbe446f57e45b23f5cfcf67ccbb9 \ RES \值\ values.xml:203:5-69],   原始消息=,工具名称= Optional.of(AAPT)} *

Google的指南说明了以下内容

要解决此问题,只需将android:foregroundInsidePadding替换为foregroundInsidePadding。

没关系,我打开问题文件values.xml,转到第203行,然后......惊喜,没有outlookInsidePadding。而且,整个xml中没有这个词。我尝试了无效的Gradle缓存,但在Gradle重新创建缓存后问题又出现了。我不能忽视这一点,因为这个问题停止了建设。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

appcompat-v7-25.1.1.aar\b3fbcbe446f57e45b23f5cfcf67ccbb9\res\values\values.xml

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