android开发Apply Changes功能,无需重启应用,快速运行(安卓开发application)

在 Android Studio 3.5 及更高版本中,Apply Changes 可让您将代码和资源更改推送到正在运行的应用,而无需重启应用(在某些情况下,无需重启当前 Activity)。有了这种灵活性,您就可以控制在想部署和测试细微增量更改时应用的重启范围,同时保持设备的当前状态。Apply Changes 使用搭载 Android 8.0(API 级别 26)或更高版本的设备上支持的浪Android JVMTI 实现中的功能。如需详细了解 Apply Changes 的工作原理,请参阅 Android Studio Project Marble:Apply Changes。

要求

Apply Changes 操作仅在满足以下条件时可用:

  • 您使用调试编译变体来编译应用的 APK
  • 您将应用部署到搭载 Android 8.0(API 级别 26)或更高版本的目标设备或模拟器上。

使用 Apply Changes

如果要将更改部署到兼容设备,请使用以下选项:

“Apply Changes and Restart Activity”图标

尝试通过重启 Activity 但不重启应用来应用资源和代码更改。通常,如果您修改了方法正文中的代码或修改了现有资源,则可以使用此选项。

您也可以按 Ctrl Alt F10(或者,在 macOS 上,按 Control Shift Command R)来执行此操作。

“Apply Code Changes”图标

尝试仅应用代码更改而不重启任何内容。通常,如果您修改了方法正文中的代码,但没有修改任何资源,则可以使用此选项。如果您既修改了代码,又修改了资源,则应该用 Apply Changes and Restart Activity

您也可以按 Ctrl F10(或者,在 macOS 上,按 Control Command R)来执行此操作。

“Run”图标

部署所有更改并重启应用。如果使用任一 Apply Changes 选项都无法应用您所做的更改,请使用此选项。要详细了解需要重启应用的更改类型,请参阅 Apply Changes 的限制。

为 Apply Changes 启用 Run 回退机制

请您点击 Apply Changes and Restart ActivityApply Code Changes 后,Android Studio 会构建新 APK 并确定是否可以应用更改。如果无法应用更改并且会导致 Apply Changes 失败,则 Android Studio 会改为提示您重新运行您的应用(通过点击“Run”图标

)。不过,如果您不想在每次发生这种情况时都收到提示,则可以将 Android Studio 配置为在无法应用更改时自动重新运行您的应用。

要启用此行为,请按以下步骤操作:

  1. 打开 SettingsPreferences 对话框:在 Windows 或 Linux 上,从菜单栏中依次选择 File > Settings。在 macOS 上,从菜单栏中依次选择 Android Studio > Preferences
  2. 依次转到 Build, Execution, Deployment > Deployment
  3. 选中复选框以针对任一 Apply Changes 操作启用自动 Run fallback。
  4. 点击 OK

注意:某些类型的更改不会导致 Apply Changes 失败,但仍然要求您手动重启应用,然后才能看到这些更改。例如,如果您更改了某个 Activity 的 onCreate() 方法,则只有在该 Activity 重新启动后,这些更改才会生效,因此您必须重启应用才能看到这些更改。

Apply Changes 的限制

Apply Changes 旨在加快应用部署流程。不过,它的使用时机存在一些限制。如果您在使用 Apply Changes 时遇到任何问题,请提交错误。

需要重启应用的代码更改

某些代码和资源更改必须在重启应用之后才能应用,其中包括以下更改:

  • 添加或删除方法或字段
  • 更改方法签名
  • 更改方法或类的修饰符
  • 更改类继承行为
  • 更改枚举中的值
  • 添加或移除资源
  • 更改应用清单
  • 更改原生库(SO 文件)

库和插件

某些库和插件会自动更改应用的清单文件或清单中引用的资源。这些自动更新可能会通过以下方式干扰 Apply Changes:

  • 如果库或插件更改应用的清单,您不能使用 Apply Code Changes 图标 或 Apply Changes and Restart Activity 图标 ,而必须重启应用,然后才能看到相应更改。
  • 如果库或插件更改应用的资源文件,您不能使用 Apply Code Changes 图标 ,而必须使用 Apply Changes and Restart Activity 图标 来查看相应更改。

您可以通过为调试构建变体停用所有自动更新来避免这些限制。

例如,Crashlytics 在每次构建过程中使用唯一的构建 ID 更新应用资源,这会阻止您使用 Apply Code Changes 图标

,并要求您重启应用的 Activity 才能看到相应更改。您可以停用此行为,以便能将 Apply Code Changes 与 Crashlytics 一起用于调试 build。

直接引用已安装 APK 中的内容的代码

如果您的代码直接引用已在设备上安装的应用 APK 中的内容,在您点击了Apply Code Changes 图标

后,该代码可能会导致崩溃或出现异常。发生此行为的原因是,当您点击 Apply Code Changes 时,设备上的底层 APK 会在安装过程中被替换。在这些情况下,您可以改为点击 Apply Changes and Restart Activity 图标 或 Run 图标 。

android开发Apply Changes功能,无需重启应用,快速运行(安卓开发application)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月6日 下午7:03
下一篇 2024年5月6日 下午7:15

相关推荐

  • 国家战略科研项目

    国家战略科研项目:探索宇宙奥秘 近年来,随着科技的飞速发展,人类对宇宙的认识也越来越深入。为了探索宇宙的奥秘,国家投入了大量的人力、物力和财力,开展了一系列国家战略科研项目。 其中…

    科研百科 2025年2月8日
    0
  • 充电桩科研项目评审

    充电桩科研项目评审 随着电动汽车的普及,充电桩已经成为电动汽车充电的重要基础设施。充电桩科研项目评审是确保充电桩项目质量的重要环节。本文将对充电桩科研项目评审进行介绍。 充电桩科研…

    科研百科 2025年1月30日
    0
  • 系统管理包括哪些项目

    系统管理是指对计算机系统进行有效的规划和管理的过程。一个系统管理项目通常包括以下多个子项目: 1. 系统架构设计:系统架构设计是系统管理的核心,它决定了系统的整体结构和功能设计。系…

    科研百科 2025年1月29日
    0
  • 用户是「上帝、至上、老板,中心,伙伴」五层境界,你在哪一层?

    品牌不仅代表符号、标识、身份象征,而是体现不同、拥有灵魂、表达自我; 品牌传播不再是孤立的、单向的、短期的,而是成千上万的人长期互动的结果; 品牌建设不能依靠优秀的产品、极致的服务…

    科研百科 2022年8月9日
    278
  • 美萍酒店管理系统项目

    美萍酒店管理系统项目 美萍酒店管理系统项目是一个面向酒店行业的软件系统,旨在帮助酒店管理人员实现更高效的管理和更精确的数据分析。该项目基于Java语言开发,使用MySQL作为数据库…

    科研百科 2024年12月14日
    0
  • 开源项目进度管理软件

    开源项目进度管理软件 随着开源项目的普及和发展,开源项目进度管理软件已经成为项目管理人员必备的工具之一。这些软件可以帮助项目管理人员更好地管理项目进度、质量、成本和风险,提高项目的…

    科研百科 2024年8月29日
    29
  • 重庆大学科研项目管理办法

    重庆大学科研项目管理办法 为加强重庆大学科研项目管理,提高科研项目的质量和效率,根据《中华人民共和国科学技术法》和《重庆大学科研项目管理办法》等相关法律法规,制定本管理办法。 一、…

    科研百科 2024年10月11日
    34
  • 大二是否可以参与到课题研究中

    大二是否可以参与到课题研究中 随着大学教育的普及,越来越多的学生选择参与到研究课题中。而对于大二的学生来说,是否可以参与到课题研究中来,成为了他们需要考虑的问题。在本文中,我们将探…

    科研百科 2024年11月16日
    0
  • 加强区属国有企业党建规范化建设的实践与思考(强化国有企业党建工作)

    ——以房山区区属国有企业党建规范化建设为例 文|邓海娜 来源|《国企》杂志2022年11月号 区国资委机关干部居家期间就地转化为志愿者,在长阳镇原香小镇小区进行“上一线、做贡献”疫…

    科研百科 2023年12月11日
    258
  • 科研项目风险获益评估

    科研项目风险获益评估 科研项目是科学家们探索未知领域、推动科学技术发展的重要手段。然而,科研项目也存在着一定的风险和获益。因此,进行科研项目风险获益评估是非常必要的。 科研项目的风…

    科研百科 2025年4月18日
    1