53

我将 Android Studio 更新到 2.0 版。构建失败,而且构建时间也比 Android Studio 1.5 版要长。每次我运行我的应用程序时,我都会清理并重新加载项目,但这没有用。错误信息是:

为属性“resourceFile”指定的 \build\intermediates\res\resources-anzhi-debug-stripped.ap_' 不存在。

4

8 回答 8

87

有同样的问题!所以即时运行与shrinkResources 不兼容

1) 如果使用 Android Studio 2.2

收缩资源假

buildTypes {
    release {
        signingConfig signingConfigs.release
        minifyEnabled false
        shrinkResources false
        zipAlignEnabled true
        debuggable false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

2) 如果使用 Android Studio 2.0

  • 打开设置

  • 关注这张图片

  • 现在运行你的项目

于 2016-04-11T08:10:55.380 回答
55

如果您在构建release构建时遇到此问题,请记住 Android Plugin for Gradle 2.2.0(及更高版本)似乎与shrinkResources.

降级gradle2.1.3临时解决方案:

classpath 'com.android.tools.build:gradle:2.1.3'

编辑:

我将此问题报告给了wojtek.kalicinski(Google 的 Android Developer Advocate)。

事实证明,shrinkResources只有在minifyEnabled设置为时才有效true2.1.3版本的 Android 插件只是忽略了这个问题(并且没有shrinkResources默默地)。2.2.0+是让您知道错误有问题(它本身并没有真正提供信息)。Google 将来可能会针对此类场景引入更好的错误消息。

这是推特对话

于 2016-09-27T22:16:13.247 回答
30

您可能正在缩减资源,同时避免缩小:

minifyEnabled false
shrinkResources true

如果要缩小资源,则必须启用缩小:

minifyEnabled true
shrinkResources true

旧版本的 Build Tools 忽略了这个问题,但它开始在 Build Tools 2.2.3 上引发编译问题

更多信息在这里:https ://developer.android.com/studio/build/shrink-code.html#shrink-resources

于 2016-12-28T12:05:51.403 回答
22

shrinkResources设置为false. 它对我有用

buildTypes {
    release {
        minifyEnabled false
        shrinkResources false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        debuggable false
        jniDebuggable false
        zipAlignEnabled true
    }
}
于 2016-08-06T04:08:57.493 回答
2

找到了答案,只需禁用 instarun 就可以了。它对我有用。

于 2016-04-11T08:00:28.037 回答
1

正如@Bartek-lipinski 的帖子所建议的那样,我已经在我自己的项目中确认将 Gradle 插件降级到 v2.1.3 将解决这个问题"InvalidUserDataException: File specified for property does not exist."

我已经向 Android 工具 bugtracker网站提交了一个错误,请投票以更清楚地了解该问题。

于 2016-11-22T19:28:35.837 回答
1
  1. 我们可以同时使用 Instant Run 和 shrinkResources;
  2. 请注意,我们不能同时使用 Jack 和 shrinkResources(与 ProGuard、minifyEnabled 相同)
于 2016-07-30T01:06:40.730 回答
0

在我的项目中,因为我在gradle中添加了shrinkResources,所以去掉了Ok。

于 2017-01-05T01:53:14.690 回答