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 运行 功能,我不想因为这个错误而禁用它。
不是解决方案,而是更好的 解决方法 我更愿意:
- 按"Recent Apps"
- 只需从列表中关闭我的应用程序
- 运行 再次应用程序
这比清理或重建花费的时间少。
更新
重新运行该应用程序也有效:
我有同样的问题,我没有检查即时 运行 我也试过 "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”。
起初我猜这可能会使 Run
s 花费更长的时间,即使没有更改代码也是如此;但是经过测试,如果不改代码,第二次还是快很多。
鉴于如果您使用 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 月
这是一个非常普遍的问题,解决方案也很简单...
运行⇢▶运行...⇢编辑配置...
选中“始终使用包管理器安装”
单击“应用”按钮
开发时有时会出现这种情况。我会更改我的源代码,点击全部保存然后 运行 但 更改显然不会反映在应用程序中 -(我正在使用测试设备)。我什至可以在我的设备上卸载应用程序,然后再次点击 运行,新安装的应用程序仍然没有反映源代码中的更改。发生这种情况时,我必须编辑源代码,点击 运行,然后设备上可能会出现一个包含我预期更改的新版本。
我也尝试过这里的解决方案,但似乎并不经常奏效。
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 运行 功能,我不想因为这个错误而禁用它。 不是解决方案,而是更好的 解决方法 我更愿意:
- 按"Recent Apps"
- 只需从列表中关闭我的应用程序
- 运行 再次应用程序
这比清理或重建花费的时间少。
更新
重新运行该应用程序也有效:
我有同样的问题,我没有检查即时 运行 我也试过 "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”。
起初我猜这可能会使 Run
s 花费更长的时间,即使没有更改代码也是如此;但是经过测试,如果不改代码,第二次还是快很多。
鉴于如果您使用 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 月
这是一个非常普遍的问题,解决方案也很简单...
运行⇢▶运行...⇢编辑配置...
选中“始终使用包管理器安装”
单击“应用”按钮