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 结果
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 异常
以下修改不会生效:
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
六、快速自检清单(照着走)如果我在你机器前,我会按这个顺序做:
✅
adb uninstall 包名✅ 勾选Always install with package manager
✅
Build → Clean Project✅
File → Invalidate Caches / Restart✅ 不用 Apply Changes,直接 Run
做到第 2 步,99% 已解决。
七、结论(一句话)
Android Studio 并不是“用的旧代码”,而是它“聪明过头了”。
强制 reinstall + clean 构建,就不会再被缓存坑。
热门跟贴