news 2026/4/22 18:23:40

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/4/18 8:43:04

游戏与图形界面(GUI)

SQLAlchemy是Python中最流行的ORM(对象关系映射)框架之一,它提供了高效且灵活的数据库操作方式。本文将介绍如何使用SQLAlchemy ORM进行数据库操作。目录安装SQLAlchemy核心概念连接数据库定义数据模型创建数据库表基本CRUD操作查询数据关系操…

作者头像 李华
网站建设 2026/4/18 8:45:52

2000-2024年上市公司平台生态嵌入程度数据+Stata代码

数据简介 上市公司年报中抓取与“平台生态嵌入”相关的词频数据,以此衡量企业平台生态嵌入程度,这一方法兼具可行性与科学性。为使实证分析更紧密地契合理论部分的推导逻辑,本研究将从战略嵌入、平台嵌入、生态嵌入这三个维度入手&#xff0…

作者头像 李华
网站建设 2026/4/18 8:47:46

国际最高认可!全知科技通过CMMI5级认证,研发成熟度达领先水平

近日,全知科技正式获得由CMMI研究院颁发的CMMI V3.0成熟度五级(Level 5)认证证书,成为业内少数达到该国际最高成熟度等级的企业之一。CMMI 五级是对企业在软件研发过程管理、技术研发能力、质量控制体系以及持续改进机制等方面的全…

作者头像 李华
网站建设 2026/4/19 9:50:48

国内多个主要城市已建成或正在建设线网指挥中心

城市指挥中心名称/简称核心特点/定位状态主要依据北京北京市轨道交通指挥中心亚洲规模最大、接入线路最多、集成化水平最高的路网管理中枢-8已建成市政府官网-8上海上海轨道交通路网运营调度指挥大楼 (3C大楼)管理全球最长大都市轨交网络之一,全自动运行线路管理领先…

作者头像 李华
网站建设 2026/4/18 11:04:26

高精度除法

高精度除法分为两种情况: 1.高精度/低精度 2.高精度/高精度 对于情况1,高精度/低精度的思想: 首先定义两个long long 类型数据代表除数和余数,在用字符串类型来接收被除数,在定义两个数组分别是被除数数组和结果数组…

作者头像 李华