news 2026/3/3 21:08:43

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/3/2 21:33:49

C++代码动态分析

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…

作者头像 李华
网站建设 2026/2/18 19:49:10

提升语音处理效率的利器——MLX-Audio库![特殊字符]✨

MLX-Audio:提升您的语音处理体验 随着人工智能和机器学习的迅猛发展,语音识别、语音合成等技术已逐渐融入我们的日常生活。在这方面,MLX-Audio作为一款基于Apple MLX框架的音频处理库,凭借其高效的性能和强大的功能,正…

作者头像 李华
网站建设 2026/2/18 19:11:03

2017-2024年科技型中小企业名单数据

数据简介 科技型中小企业是依托一定数量的科技人员从事科学技术研究开发活动,取得自主知识产权并将其转化为高新技术产品或服务,从而实现可持续发展的中小企业。 我国科技型中小企业对未来发展的意义重大,主要体现在推动创新驱动发展、促进…

作者头像 李华
网站建设 2026/3/3 15:40:42

基于深度学习YOLOv11的交通标志识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 随着智能交通系统(ITS)和自动驾驶技术的快速发展,交通标志的实时、准确识别成为保障道路安全与提升驾驶辅助系统性能的关键技术之一。本项目基于YOLOv11深度学习算法,开发了一套高效、鲁棒的交通标志识别与检测系统…

作者头像 李华
网站建设 2026/3/4 4:43:46

线网指挥中心

线网指挥中心是现代城市轨道交通的“智慧大脑”,其核心功能是实现从单线独立运营到全网协同管理的跃升。主要功能可归纳为以下三个层面: 一、日常运营的“指挥官”:全网监控与综合调度 这是最基础也是最核心的功能,确保每日列车…

作者头像 李华