news 2026/2/24 20:19:52

Android Studio Run 的 App 不是最新代码?一次彻底搞清缓存问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android Studio Run 的 App 不是最新代码?一次彻底搞清缓存问题

Android Studio 运行非最新代码的解决方法。

这个问题在Android Studio + 真机 Run App场景里非常典型,本质是构建产物 / 安装策略 / Instant Run / 增量编译缓存导致的。


一、最常见原因(90% 情况)

✅ 1️⃣ APK 没有被重新安装(增量安装)

Android Studio 默认会增量 install,如果它判断 APK 没变化,可能只做hot swap或根本不 reinstall。

🔧 解决方式(强烈推荐)

每次 Run 前,强制卸载旧 App

方法 A:IDE 设置(一劳永逸)
Android Studio → Run → Edit Configurations → 选择你的 App → Deployment Target Options → 勾选 ✅ "Always install with package manager"

👉 含义:

  • 强制adb install
  • 禁用智能增量判断
  • 确保每次都是新 APK


方法 B:Run 前手动卸载(验证用)
adb uninstall your.package.name

如果卸载后再 Run 就正常了,说明之前就是安装缓存问题


二、Gradle 构建缓存导致代码未生效

✅ 2️⃣ Gradle Build Cache / Incremental 编译

Gradle 会缓存:

  • class
  • dex
  • resource
  • manifest merge 结果

🔧 推荐做法(开发期)

方式 A:Clean + Run
Build → Clean Project Build → Rebuild Project
方式 B:命令行(更彻底)
./gradlew clean assembleDebug

🚨 彻底关闭 Gradle 缓存(排查问题时用)

gradle.properties中临时加:

org.gradle.caching=false

⚠️ 不建议长期关闭,只用于定位问题。


三、Android Studio / IDE 缓存问题

✅ 3️⃣ IDE 索引 / 构建缓存错乱

🔧 标准操作
File → Invalidate Caches / Restart → Invalidate and Restart

这一步可以解决:

  • Run 代码不更新
  • 明明改了却没生效
  • R.java / BuildConfig 异常

四、Instant Run / Apply Changes 的“坑”

✅ 4️⃣ Apply Changes 并不是万能的

以下修改不会生效

  • Application / Manifest
  • 静态字段
  • Native 代码
  • Proguard / BuildConfig
  • 一些 class 初始化逻辑

🔧 正确姿势

  • ❌ 不点Apply Changes
  • 直接点 Run(绿色 ▶)

或者直接:

Settings → Build, Execution, Deployment → Disable “Apply Changes” (可选)

五、你是 RN / 多 Module / AAR 的话(重点)

结合你过往情况(RN + Android 混合工程),特别容易踩雷👇

✅ 5️⃣ 依赖的是 AAR / Module,但 AAR 没重新打

比如:

  • RN bundle
  • library module
  • 本地 AAR
🔧 解决方案
./gradlew :yourLib:clean ./gradlew :app:assembleDebug

或者直接:

./gradlew clean

六、快速自检清单(照着走)

如果我在你机器前,我会按这个顺序做:

  1. adb uninstall 包名
  2. ✅ 勾选Always install with package manager
  3. Build → Clean Project
  4. File → Invalidate Caches / Restart
  5. ✅ 不用 Apply Changes,直接 Run

做到第 2 步,99% 已解决。


七、结论(一句话)

Android Studio 并不是“用的旧代码”,而是它“聪明过头了”。

强制 reinstall + clean 构建,就不会再被缓存坑。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/24 6:36:09

JavaScript String

JavaScript String JavaScript 中的 String 对象是用于表示文本的,它提供了丰富的操作字符串的方法。在本文中,我们将深入探讨 JavaScript 中的字符串对象,包括它的创建、属性、方法以及一些高级用法。 创建字符串 在 JavaScript 中,字符串可以通过多种方式创建: // 使…

作者头像 李华
网站建设 2026/2/24 20:44:29

量化交易资源合集

量化金融分析师AQF实训-量化投资策略实战视频课程 文件大小: 26.9GB内容特色: 26.9GB高清视频,系统拆解量化选股、回测、风控全流程适用人群: 备考AQF、金融从业者、量化投资零基础转岗者核心价值: 跟做实盘级策略,快速达到量化基金实习/上岗要求下载链…

作者头像 李华
网站建设 2026/2/23 10:17:03

Python实战:基于Playwright与异步技术的房产信息智能爬虫

引言:房产数据获取的技术挑战与解决方案 在当今大数据时代,房产信息的实时获取对于投资者、购房者和市场研究者至关重要。然而,现代房产网站普遍采用动态加载、反爬虫机制和复杂验证策略,给传统爬虫带来了巨大挑战。本文将介绍如…

作者头像 李华
网站建设 2026/2/24 12:12:57

大数据领域数据网格:实现数据价值最大化的途径

数据网格:从集中式困境到分布式价值——大数据时代实现数据价值最大化的路径 摘要 你是否经历过这样的场景? 业务团队要做用户增长分析,却在数据仓库的权限审批中等待3天; 好不容易拿到数据,却发现用户ID格式不一致,又得花1天清洗; 数据工程师每天加班维护数据管道,却…

作者头像 李华
网站建设 2026/2/24 13:23:11

各地地铁线网指挥中心特点

北京:作为国内线网指挥中心建设的先行者,北京地铁小营指挥中心兼具规模化与高统筹性,总规模可容纳35条线路接入,整合了应急协调指挥中心(TCC)、数据中心(DCC)、线网编播中心&#xf…

作者头像 李华
网站建设 2026/2/23 17:41:29

大模型开发全流程详解:从零开始构建AI应用_大模型应用开发流程,大模型应用开发学习路线

文章详细介绍了大模型开发的8步流程:确定目标、设计功能、搭建架构、搭建数据库、Prompt Engineering、验证迭代、前后端搭建和体验优化。强调大模型开发更注重Prompt设计和业务逻辑实现,而非模型优化。提供了学习方法和资源,适合初学者和实践…

作者头像 李华