为什么Android Instant Run几乎每次重新编译?

时间:2016-03-10 15:10:17

标签: android android-studio android-build instant-run

我正在给Android Instant Run一个测试运行。为了测试,我只是将以下行添加到我的Activity的onResume()中:

Toast.makeText(this, "test123", Toast.LENGTH_SHORT).show();

现在,当我更改吐司的文本并重建时,它会告诉我

"Instant Run detected that a resource referenced from the AndroidManifest.xml file has changed"

有谁可以解释这里发生了什么?我没有更改任何资源,只是Activity java文件中的字符串文字。 (我知道我应该在Android btw中使用字符串资源)。

1 个答案:

答案 0 :(得分:4)

似乎问题是我的build.gradle修改了Android Manifest:

debug {
    ...
    def theVersionNameSuffix = "-debug-" + getCurrentDateTimeString();
    versionNameSuffix theVersionNameSuffix
    ...
}

由于后缀在每个构建中都不同,这意味着版本名称会在更改AndroidManifest的构建之间发生变化。

我已删除了versionNameSuffix条目,现在它似乎正常工作。