Android Studio 未将更改部署到应用程序

Android Studio not deploying changes to app

开发时有时会出现这种情况。我会更改我的源代码,点击全部保存然后 运行 但 更改显然不会反映在应用程序中 -(我正在使用测试设备)。我什至可以在我的设备上卸载应用程序,然后再次点击 运行,新安装的应用程序仍然没有反映源代码中的更改。发生这种情况时,我必须编辑源代码,点击 运行,然后设备上可能会出现一个包含我预期更改的新版本。

我也尝试过这里的解决方案,但似乎并不经常奏效。

Android Studio - Deploys my app without new changes

在我意识到不能将我的更改传播到所有相关文件之前,这是一个真正的难题...

如果您像我一样遇到布局问题,您可能会发现需要更新 res > layout-v17 文件夹中的布局。我通过 layout 文件夹中的设计视图进行了更改,这些更改最初似乎自动传播到 layout-v17。但是,后来的更改并没有。

检查您的 res > layout-v17 文件夹并查看该文件夹中的 .xml 文件是否反映了更改您在 res > layout 文件夹中看到。你可能会发现他们没有。修复此问题并重新部署。像我一样,你应该看到新的代码模组。

希望对您有所帮助。

我从 23 升级 buildVersion 后开始出现同样的问题。尝试删除 AVD 并重新创建,与 Gradle 文件同步。没有任何帮助。完全重新安装 Andriod Studio 已解决该问题。这可能不是解决方案,但这只对我有用。

我也遇到了同样的问题。当我搜索它时,这个线程首先弹出。通过不使用 Instant 运行 功能解决了它(希望如此)。可能不是最好的解决方案,但它现在有效。

只需转到 "File -> Settings -> Build, Execution, Deployement -> Instant Run" 并禁用它。有了这个 Android Studio 每次都从头开始构建,但总比不正确构建要好。

小吐槽:几乎每个版本的 Android Studio 都有一个烦人的错误。他们即将发布第 2 版,但其测试版仍有问题。我希望他们在不久的将来稳定IDE。

我也通过不使用 Instant 运行 功能解决了这个问题。可能不是最好的解决方案,但它现在有效。我正在使用 Android Studio 2.0 beta 2...

我有同样的问题,使用 Android Studio 2.0.0,通过 重建 我的项目解决了它。

Build > Rebuild Project

或通过清理并重新运行

Run > Clean and Rerun

现在我通过关闭应用程序并再次 运行 解决了这个问题。它就像一个魅力。还不确定这是否是巧合,但我想值得一试。

我真的很想知道它是否也适用于其他人。让我们试一试,然后告诉我。

对我有用的是向我的布局 xml 文件之一添加一些错误的 xml,尝试构建并出现错误,然后恢复更改并再次调试。不漂亮,但很快。

另一件似乎大多数时候都有效的事情:拔下并重新连接您的开发 phone/device。这似乎强制重新安装,至少在我的 Linux 机器上。

我喜欢 Instant 运行 功能,我不想因为这个错误而禁用它。 不是解决方案,而是更好的 解决方法 我更愿意:

  1. 按"Recent Apps"
  2. 只需从列表中关闭我的应用程序
  3. 运行 再次应用程序

这比清理或重建花费的时间少。

更新

重新运行该应用程序也有效:

我有同样的问题,我没有检查即时 运行 我也试过 "clean and run option" 但它不起作用。我尝试 gradle 同步它,但我仍然遇到问题。只有当我通过删除构建文件夹完全重建它时,它才会得到解决。

对我来说,即时 运行 是一场噩梦,构建时间为 2-5 分钟,而且令人抓狂的是,最近的更改经常没有包含在构建中。我强烈建议禁用即时 运行 并将此行添加到 gradle.properties:

android.enableBuildCache=true

大型项目的首次构建通常需要一些时间(1-2 分钟),但在缓存之后,后续构建通常快如闪电(<10 秒)。

得到这个tip from reddit user /u/QuestionsEverythang,这让我在即时 运行 时省去了很多麻烦!

确保您没有其他布局。如果这样做,您可能正在更改一个并部署另一个。

您可以通过将调试断点放置到您添加的新行来了解代码是否已部署。如果断点上有叉号,则表示未部署。您需要清理并重建项目。

编辑 2 (2020-03-09)

如果你的gradle-wrapper.properties中使用的是gradle6.0,你可能也会遇到类似的情况,因为6.0版本中有this bug。请尝试使用 6.0.1。


昨天(2018-03-27)Android Studio 发布了从 3.0.1 到 3.1 的官方更新,看起来很多人(包括我)开始 运行ning又是这个问题。

归功于 #5 comment here,以下是解决方法:

在 Android Studio 中,转到 Run > Edit Configuration

Before launch:下,如果找不到Gradle-aware Make,就像下面这样:

添加 Gradle-aware Make 并将 Task 留空。

警告:我不知道这些行为是什么意思,是否会引起任何side-effects。如果有人可以对此提供更多解释,我们将不胜感激!

编辑

感谢@ChristopherSmit 的引用,this page 提到 Gradle-aware make 表示“编译项目和 运行 Gradle”。
起初我猜这可能会使 Runs 花费更长的时间,即使没有更改代码也是如此;但是经过测试,如果不改代码,第二次还是快很多。
鉴于如果您使用 AS 3.1 创建新项目,这是默认选项,我认为此配置非常安全。

在 Android Studio 3.6.3 中,如果即时 运行 失败,您可以启用自动重启。

只需转到文件 |设置 |构建、执行、部署 |部署并选中复选框。

我遇到了同样的问题,我尝试了清理和重建等所有方法,gradle-sync,甚至卸载和安装应用程序,但没有成功。其他设备工作正常,但在我的手机中问题仍在继续。 然后我意识到我不小心复制了一个布局文件 layout-v26 并且正在对该文件进行更改,这就是设计没有更新的原因。所以我只是从 Project>app>main>res>layout-v26 中删除了重复的布局,问题就解决了。所以请确保您没有在不知不觉中创建任何这些文件。

请参见下面的屏幕截图。下划线是 Instant 运行。在 Android Studio 4.1.1

中工作得更好

下圈是Apply Changes。


Android Studio 4 甚至可以在没有 运行 应用程序的情况下呈现视图。更改任何内容并查看结果。对自定义视图开发者非常有用。

对我来说,卸载、重新安装该应用程序都行不通。禁用即时 运行.

也是如此

通过转到 device settings >> Apps >> myApp >> Clear caches & clear data,将新更改部署到应用程序。

即使你没有更新任何东西,
这可能会突然开始:
代码更改不会反映在应用程序上/不会生效。
对我有用的步骤之一是:

"File -> Invalidate Caches / Restart ..."

做好了。

这可能是 machine/studio 间歇性 rebooting/closing 的结果(由于硬件问题/断电)。

这里是北极狐 2020.3.1 补丁 3

问题: 不在应用程序中部署更改 不同的 SQLite 错误,例如“没有这样的 table”(在编写新的 table 之后) 2 天试图解决这个问题,我发现以下内容:

(在物理设备中测试和启动)

构建 - 清理 构建 - 重建项目

新部署没有变化或影响

我做了什么

文件 - 使缓存无效并重新启动 物理设备:长按应用图标+强行停止,存储清除缓存,释放存储空间 重启 phone

从物理设备启动旧应用程序

我一这样做,我的 phone 就意识到新的变化和新的部署很奇怪但对我有用

也在 Android Studio 4.2.2 中间歇性地看到这个问题,none 这里的建议有效。但我发现了一个似乎对我有用的解决方法:打开位于 运行 -> 编辑配置下的选项“始终使用包管理器安装(在 Android 11 及更高版本上禁用部署优化)” .

Android 大黄蜂工作室 | 2021.1.1 补丁 1 构建 #AI-211.7628.21.2111.8139111,构建于 2022 年 2 月 1 日

“编辑配置” 选中“始终使用包管理器安装(在 Android 11 及更高版本上禁用部署优化)

2021 年 5 月
这是一个非常普遍的问题,解决方案也很简单...

  1. 运行⇢▶运行...编辑配置...

  2. 选中“始终使用包管理器安装

  3. 单击“应用”按钮