Android 我怎样才能使用;“应用更改”;如果我使用Crashlytics?

Android 我怎样才能使用;“应用更改”;如果我使用Crashlytics?,android,android-studio,android-gradle-plugin,Android,Android Studio,Android Gradle Plugin,我正在使用Android Studio 3.5 Beta 1。我决定尝试“应用更改”。即时运行是有问题的,所以我们已经禁用了多年。我希望这会更好 如果我尝试“应用代码更改”按钮,则在运行窗口中会出现错误: Changes were not applied. Modifying resources requires an activity restart. Resource 'assets/crashlytics-build.properties' was modified. Apply chan

我正在使用Android Studio 3.5 Beta 1。我决定尝试“应用更改”。即时运行是有问题的,所以我们已经禁用了多年。我希望这会更好

如果我尝试“应用代码更改”按钮,则在运行窗口中会出现错误:

Changes were not applied.
Modifying resources requires an activity restart.
Resource 'assets/crashlytics-build.properties' was modified.
Apply changes and restart activity
crashlytics build.properties
有如下注释

#This file is automatically generated by Crashlytics to uniquely
#identify individual builds of your Android application
事实上,它有一个
build\u id
属性,该属性可能会随着每个Gradle构建而改变。由于Gradle在我使用“应用代码更改”或“应用更改并重新启动活动”按钮时运行构建,因此Gradle构建会更改文件,从而阻止应用运行完成

我在网上找到的唯一与此相关的信息是

我学到了crashlytics+proguard打破即时跑步的艰难方法


看来我不是唯一有这个问题的人。删除Crashlytics不是一个选项。我也不想在每次进行调试时禁用它,然后再次重新启用它

“应用更改并重新启动活动”按钮不起作用。我正在使用的活动将重新启动并显示更改。我试着用常规的“运行”按钮来比较这一点。“应用更改并重新启动活动”所花的时间与此相同。唯一的好处似乎是,我不必每次都通过应用程序导航到那个屏幕,而是可以留在那个屏幕上重新加载更改。这是一个很好的好处,我只是期待更多


我可以做些什么来让“应用更改”更有效地为我工作?

您可以在Crashlytics中关闭调试版本的此行为:

debug
块中的模块
build.gradle
中将
ext.alwaysUpdateBuildId
设置为
false

android {
    buildTypes {
        debug {
          // Only use this flag on builds you don't proguard or upload to beta-by-crashlytics
          ext.alwaysUpdateBuildId = false

“删除Crashlytics不是一个选项”--有没有办法禁用该属性的生成,至少对于
debug
builds?欢迎使用堆栈溢出!请您提供说明,而不仅仅是链接,好吗?这是回答问题的首选方式,因为链接可能会中断或更改。From:“不再支持Crashlytics特定的生成标志
ext.alwaysUpdateBuildId
ext.enableCrashlytics
。如果存在,请将其从Gradle配置中删除。”