【问题标题】:Android Studio not deploying changes to appAndroid Studio 未将更改部署到应用程序
【发布时间】:2015-06-01 12:03:18
【问题描述】:

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

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

Android Studio - Deploys my app without new changes

【问题讨论】:

  • 请查看thisthis的答案。
  • 您找到解决此问题的方法了吗?我以前遇到过这种情况,并且清除、重建或重新启动 Android Studio 都有效。但是今天,似乎没有什么可以解决这个问题。我正在卸载 Studio 并再次安装它,看看是否有变化。我不认为这是即时运行问题。我怀疑它是在我今天使用终端上的adb 进行手动安装后开始发生的。我尝试过的事情: - 清理、重建、使缓存无效并重新启动 Studio - 强制停止、清理数据并从设备卸载应用程序 - 重新启动计算机和设备
  • 在 2021 年遇到同样的问题...

标签: android deployment android-studio


【解决方案1】:

在我意识到不能将我的更改传播到所有相关文件之前,这真是个麻烦事......

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

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

希望这会有所帮助。

【讨论】:

  • +1 OMGY 你是救生员。检查我的layouts 后,我意识到我在那里有两个布局:1:activity_main.xmlactivity_main.xml (v21) 我的更改只反映在一个中。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    只需转到“文件 -> 设置 -> 构建、执行、部署 -> 即时运行”并禁用它。使用此 Android Studio 每次都从头开始构建,但总比不正确构建要好。

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

    【讨论】:

    • 我使用的是 Android Studio 2.1,但我仍然遇到同样的问题。唯一的解决方案是禁用即时运行:(
    • 即使禁用“即时运行”也有这个问题,很烦人!!!如 2.1.2。 “清洁”有帮助...
    • 如果其他人也在寻找它,在 OS X 上,您可以在 File -> Preferences -> Build, Execution, Deployment 下找到它
    • 我认为禁用即时运行不是一个好的解决方案。它有很多好处,只有一个错误。
    • 我正在使用禁用 Instant Run 的 Android Studio 3.2 Canary 13,但此问题仍然存在。
    【解决方案4】:

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

    【讨论】:

    • 请详细说明您的答案,以便其他用户受益...逐步添加等...
    • 其他人已经将此作为答案发布。一旦您有足够的代表,请考虑对现有答案进行投票,而不是重新发布。
    【解决方案5】:

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

    Build > Rebuild Project

    或通过清理并重新运行

    Run > Clean and Rerun

    【讨论】:

    • 每当我对我的 XML 文件进行一些更改时,我是否需要每次都这样做?正如我所看到的,每当我对动画 XML 文件进行更改时。在我再次清理和重建应用程序之前,它不会部署新的更改
    • 2018 - A.S. 3.2.0,我们仍然要处理这个
    • 我在从 AS 3.0 更新到 3.1 之后就遇到了这个问题。我每次都必须重建项目......
    • 将 AS 从 3.0 更新到 3.1 后出现同样的问题。
    • 2020 - AS 4.1.1 仍然无法完全克服这一点。
    【解决方案6】:

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

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

    【讨论】:

    • 对于 react-native 应用程序,解决方案是退出并重新启动 react 打包器
    【解决方案7】:

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

    另一件似乎大部分时间都有效的事情:拔下并重新连接您的开发电话/设备。这似乎强制重新安装,至少在我的 Linux 机器上。

    【讨论】:

      【解决方案8】:

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

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

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

      更新

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

      【讨论】:

      • 我使用的是 AS 4.1,只有这个解决方法对我有用。但很烦人,我必须在每个构建中都这样做
      【解决方案9】:

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

      【讨论】:

        【解决方案10】:

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

        android.enableBuildCache=true
        

        对于大型项目,首次构建通常需要一些时间(1-2 分钟),但在缓存之后,后续构建通常会非常快(

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

        【讨论】:

          【解决方案11】:

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

          【讨论】:

            【解决方案12】:

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

            【讨论】:

              【解决方案13】:

              EDIT2 (2020-03-09)

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


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

              感谢#5 comment here,解决方法如下:

              在 Android Studio 中,转到 Run > Edit Configuration

              Before launch:下,如果找不到Gradle-aware Make,如下:

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

              警告:我不知道这些操作意味着什么,以及它是否会导致任何副作用。不胜感激,如果有人可以对此进行更多解释!

              编辑

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

              【讨论】:

              • 你会在这里找到解释:developer.android.com/studio/run/rundebugconfig.html。在下表中的“定义启动前操作”
              • 谢谢!我浪费了超过 24 小时来修复我的代码,并想知道为什么代码更改不起作用。我不知道还有这样的事情。
              • 不工作:生成依赖项拆分 APK com.android.ide.common.process.ProcessException 时出错:无法执行 aapt
              • @android51130 实际上我找到了一个“更大的帖子”here。似乎禁用即时运行会解决。
              • @SiraLam "run" 在禁用即时运行的情况下工作正常,问题是在 studio 3.1 中即时运行时“wtf is going on here”。我需要即时运行,你也需要 :)))
              【解决方案14】:

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

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

              【讨论】:

                【解决方案15】:

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

                【讨论】:

                • 感谢您的解决方案。我尝试了一切,但没有任何效果。
                【解决方案16】:

                请参阅下面的屏幕截图。下划线是即时运行。在 Android Studio 4.1.1 中工作得更好

                下圈是应用更改。


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

                【讨论】:

                  【解决方案17】:

                  对我来说,卸载、重新安装应用程序不起作用。禁用即时运行也是如此。

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

                  【讨论】:

                  • 是的,我正在重建 APK,甚至更改了版本。无效的缓存/重新启动。我所做的任何事情都不会创建正确的 APK。相反,它是一个非常旧的 APK 版本。我可以在设备上获取该应用程序的唯一方法是通过 USB 连接并从工作室运行该应用程序,它最终安装了正确的版本。但 APK 无法正确构建。
                  【解决方案18】:

                  即使您没有更新任何内容,
                  这可以突然开始:
                  代码更改不会反映在应用上/不会生效。
                  对我有用的步骤之一是:

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

                  做好了。

                  这可能是机器/工作室间歇性重启/关闭的结果(由于硬件问题/断电)。

                  【讨论】:

                    【解决方案19】:

                    Here AS Artic Fox 2020.3.1 补丁 3

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

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

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

                    对新部署没有变化或影响

                    我做了什么

                    file - 使缓存无效并重新启动 物理设备:长按应用图标+强制停止,存储清除缓存,免费存储 重启手机

                    从物理设备启动旧应用

                    一旦我这样做了,我的手机就会识别出奇怪但对我有用的新变化和新部署

                    【讨论】:

                    • 在北极狐 2020.3.1 补丁 3 上仍然存在问题。我必须在每次代码更改后按 Build > Rebuild project,否则新的更改将不适用。这仅发生在一个特定项目上。仍在寻找问题。
                    • 试试这个:c:/Users/me/AppData/Local/Google/AndroidStudioPreview2021.1/caches 然后删除所有缓存,如果 AS 建议你也允许 kotlin 插入升级
                    【解决方案20】:

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

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2018-02-20
                      • 2013-07-23
                      • 1970-01-01
                      • 1970-01-01
                      • 2018-08-05
                      • 2022-07-09
                      • 2021-02-14
                      • 1970-01-01
                      相关资源
                      最近更新 更多