Cha*_*ltz 11 android android-studio android-gradle-plugin
我正在使用Android Studio 3.5 Beta1。我决定尝试“应用更改”。Instant Run出现问题,因此我们将其禁用了很多年。我希望这会更好。
如果我尝试“应用代码更改”按钮,则会在“运行”窗口中收到错误消息:
Changes were not applied.
Modifying resources requires an activity restart.
Resource 'assets/crashlytics-build.properties' was modified.
Apply changes and restart activity
Run Code Online (Sandbox Code Playgroud)
crashlytics-build.properties 有评论说
#This file is automatically generated by Crashlytics to uniquely
#identify individual builds of your Android application
Run Code Online (Sandbox Code Playgroud)
实际上,它具有一个build_id可能随Gradle每次构建而变化的属性。而且由于每当我使用“应用代码更改”或“应用更改并重新启动活动”按钮时Gradle都会运行构建,因此Gradle构建会更改文件,这会阻止Apply Run完成。
我在网上找到的与此相关的唯一信息是Reddit评论说
我了解了crashlytics + proguard中断即时运行的困难方式
因此,看来我不是唯一遇到此问题的人。删除Crashlytics并不是一种选择。我也不想在每次调试时都禁用它,然后再次重新启用它。
“应用更改并重新启动活动”按钮起作用。我正在使用的活动重新启动,并且更改可见。我尝试比较使用常规“运行”按钮的时间。“应用更改并重新启动活动”需要花费同样长的时间。唯一的好处似乎是,我不必每次都在应用程序中导航到该屏幕,而是可以保留在该屏幕上并重新加载更改。这是一个很大的好处,我只是期望更多。
我可以做些什么来使“应用更改”更有效地工作?
小智 15
您可以在Crashlytics中为调试版本关闭此行为:https ://docs.fabric.io/android/crashlytics/build-tools.html#optimize-builds-when-you-re-not-pro-guarding-or-using- beta-by-crashlytics
在模块中设置ext.alwaysUpdateBuildId为:falsebuild.gradledebug
android {
buildTypes {
debug {
// Only use this flag on builds you don't proguard or upload to beta-by-crashlytics
ext.alwaysUpdateBuildId = false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
344 次 |
| 最近记录: |