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


96

有时在开发时会发生这种情况。我会在源代码中进行更改,全部保存然后运行,但是更改显然不会反映在应用程序中(我正在使用一种设备进行测试)。我什至可以卸载设备上的应用程序,然后再次单击运行,而新安装的应用程序仍未反映源代码中的更改。发生这种情况时,我必须编辑源代码,然后单击“运行”,然后可能将具有预期的更改的新版本发布到设备上。

我也在这里尝试了该解决方案,但它似乎并不经常工作。

Android Studio-无需更改即可部署我的应用


请检查这个这个答案。
阿米特·瓦格拉

您是否找到解决此问题的方法?我之前已经遇到过这个问题,并且清除,重建或重新启动Android Studio一直有效。但是今天,似乎什么也无法解决。我正在卸载Studio,然后再次安装它,看看是否有什么变化。我不认为这是即时运行问题。我怀疑它是在我今天adb从终端使用手动安装后开始发生的。事情我已经尝试: -干净,重建无效缓存和重新启动工作室-强行停止,干净的数据和从设备卸载应用程序-重新启动计算机和设备
加布里埃尔Gularte

Answers:


74

我有同样的问题。搜索后,该线程首先弹出。通过不使用“即时运行”功能来解决(希望如此)。可能不是最好的解决方案,但目前可以使用。

只需转到“文件->设置->构建,执行,部署->即时运行”,然后将其禁用即可。有了这个Android Studio,每次都会从头开始构建,但总比不正确构建要好。

迷你:几乎每个版本的Android Studio都带有一个烦人的错误。他们即将发布版本2,但其beta版仍存在问题。我希望他们能在不久的将来稳定IDE。


3
我使用的是Android Studio 2.1,但仍然存在相同的问题。唯一的解决方案是禁用即时运行:(
radu_paun

5
即使禁用“即时运行”也有此问题,很烦人!!!AS 2.1.2。“清洁”有帮助...
pvllnspk

1
如果有人也在寻找它,则可以在OS X上找到它File -> Preferences -> Build, Execution, Deployment
Gian Luca Scoccia,2016年

我认为禁用即时运行不是一个好的解决方案。它有很多好处,而且只有一个错误。
米拉德·法里德尼亚

3
我正在使用禁用了“即时运行”的Android Studio 3.2 Canary 13,但此问题仍然存在。
mr5

95

编辑2(2020-03-09)

如果在gradle-wrapper.properties中使用gradle 6.0,则可能还会遇到类似情况,因为6.0版本中存在此错误。请尝试6.0.1。


昨天(2018-03-27)Android Studio发布了从3.0.1到3.1的官方更新,似乎很多人(包括我)再次开始遇到此问题。

在此赞扬#5评论,以下是解决方法:

在Android Studio中,转到Run> Edit Configuration

在下Before launch:,如果找不到Gradle-aware Make,则如下所示:

在此处输入图片说明

添加Gradle-aware Make并保留为Task空。

在此处输入图片说明

警告:我不知道这些操作的含义以及它是否会引起任何副作用。感谢有人可以对此提供更多解释!

编辑

感谢引用的@ChristopherSmit,此页面提到的Gradle-aware make意思是“编译项目并运行Gradle”。
起初,我想Run即使没有更改任何代码,这也可能需要较长的时间。但是经过测试后,如果没有更改任何代码,第二次仍然要快得多。
考虑到如果使用AS 3.1创建新项目,这是默认选项,我认为此配置非常安全。


1
您可以在这里找到对此的解释:developer.android.com/studio/run/rundebugconfig.html。在下表“定义启动前的操作”中
Christopher Smit

谢谢!我浪费了超过24个小时来修复我的代码,并且想知道为什么该代码更改无法正常工作。我不知道还有这样的事情。
Bhavesh Bansal

不起作用:生成依赖项拆分APK com.android.ide.common.process.ProcessException时出错:无法执行aapt
android51130 '18

1
@ android51130实际上,我在这里找到了“更大的帖子” 。似乎禁用即时运行将解决。
Sira Lam

@SiraLam“运行”在禁用即时运行时效果很好,问题是在Studio 3.1中运行即时运行时“ wtf正在运行”。我需要即时运行,你也是:)))
android51130 '18

40

我在使用Android Studio 2.0.0时遇到了同样的问题,方法是通过重建项目来解决。

Build > Rebuild Project

GUI图片

或通过清理并重新运行

Run > Clean and Rerun

清理并重新运行


每当我在XML文件中进行一些更改时,是否需要每次执行此操作吗?正如我所看到的,每当我在动画XML文件中进行更改时。在我再次清理并重建应用程序之前,它不会部署新更改
Jigar,2016年

这就是问题所在-必须进行每次更改。.google来,修复此问题-使“运行”保存,构建和部署。
NBApps

10
2018-AS 3.2.0,我们仍然要处理这个问题
Androiderson

2
从AS 3.0更新到3.1之后,我就严重地遇到了这个问题。我有充分的时间来重建工程....
西拉林

4
将AS从3.0更新到3.1后,同样的问题。
Bandzio

11

直到我意识到我的更改一定不能传播到所有相关文件之前,这才是真正的绊脚石。

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

检查res> layout-v17文件夹,查看该文件夹中的.xml文件是否反映了您在res> layout文件夹中看到的更改。您可能会发现他们没有。解决此问题,然后重新部署。和我一样,您应该看到新的代码mod。

希望这可以帮助。


2

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

我真的很想知道它是否对其他人也有用。让我们尝试一下,让我知道。


对于本机应用程序,解决方案是退出并重新启动本机包装
Mike Lyons


1

我也通过不使用即时运行功能解决了它。可能不是最好的解决方案,但目前可以使用。我正在使用Android Studio 2.0 beta 2 ...


1
请详细说明您的答案,以便其他用户可以从中受益...逐步添加等...
Juan Boero

4
有人已经将其发布为答案。如果您没有足够的代表,则可以考虑提高现有答案,而不必重新发布。
OhBeWise

1

对我而言,即时运行是一场噩梦,需要2-5分钟的构建时间,而且令人发狂的是,最新的变化通常没有包含在构建中。我强烈建议禁用即时运行并将此行添加到gradle.properties:

android.enableBuildCache=true

对于大型项目,第一次构建通常要花一些时间(1-2分钟),但是在缓存之后,后续的构建通常会很快(少于10秒)。

从reddit用户/ u / QuestionsEverythang获得了这个技巧,这为我节省了很多即时运行麻烦!


1

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


0

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


0

对我有用的是在我的布局xml文件中添加一些错误的xml,尝试构建并获取错误,然后还原更改并再次调试。不漂亮,但是很快。

似乎在大多数时间都有效的另一件事是:拔下并重新连接开发电话/设备。这似乎迫使至少在我的Linux机器上重新安装。


0

我喜欢即时运行功能,并且我不仅仅因为此错误而希望禁用它。不是解决方案,而是作为更好的解决方法,我希望:

  1. 按“最新应用”
  2. 只需从列表中关闭我的应用
  3. 再次运行应用

比Clean或Rebuild花费的时间更少

更新

重新运行该应用程序也可以:

在此处输入图片说明


0

我有同样的问题,我没有选中“即时运行”,也尝试了“清除并运行选项”,但是它不起作用。我试图让它同步,但仍然有问题。仅当我通过删除构建文件夹完全重建它时,它才能得到解决。


-1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.