代码之家  ›  专栏  ›  技术社区  ›  Chad Schultz

如果我使用Crashlytics,如何使用“应用更改”?

  •  1
  • Chad Schultz  · 技术社区  · 5 年前

    我使用的是androidstudio3.5beta1。我决定试试“应用更改”。即时运行是有问题的,所以我们已经禁用它多年了。我希望这样会更好。

    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_id 属性,假定每个渐变生成都会更改。而且由于Gradle在每次使用“Apply Code Changes”或“Apply Changes And Restart Activity”按钮时都会运行一个构建,因此Gradle构建会更改文件,从而阻止Apply-Run完成。

    我在网上找到的唯一相关信息是 Reddit comment

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

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

    我能做些什么让“应用更改”更有效地为我工作吗?

    0 回复  |  直到 5 年前
        1
  •  21
  •   Johnny Five Jamol    5 年前

    可以在Crashlytics中关闭调试生成的此行为: https://docs.fabric.io/android/crashlytics/build-tools.html#optimize-builds-when-you-re-not-proguarding-or-using-beta-by-crashlytics

    ext.alwaysUpdateBuildId false build.gradle 在里面 debug 阻止:

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