剛從 GitHub 或其他來源導入 Android 項目,發現所有 import 語句下劃線發紅,甚至 R 文件、Bundle 等基礎類都無法識別?這幾乎總是由 包名不一致 引起的經典問題。本文提供標準化排查流程,3 分鐘修復構建錯誤。
Android 項目的包名由 AndroidManifest.xml 中的 package 屬性與 build.gradle 中的 applicationId 共同決定。導入項目時,若本地模塊的包名與源碼中的 package 聲明不一致,IDE 將無法正確解析資源引用,導致全項目紅錯。
src/main/AndroidManifest.xml,確認 <manifest package="com.example.myapp"> 的值。build.gradle,確保 defaultConfig { applicationId "com.example.myapp" } 與 Manifest 包名一致(或刻意不同但需理解區別)。File → Invalidate Caches / Restart → Invalidate and Restart,清除 IDE 索引緩存。gradle/wrapper/gradle-wrapper.properties 中的 distributionUrl 需與本地 Android Studio 支持的 Gradle 版本匹配。build.gradle 依賴項是否因倉庫不可用(如 jcenter 棄用)導致下載失敗,遷移至 mavenCentral() 或 google()。新建項目時直接複製舊項目源碼到新包結構下,比修改包名更省心。使用版本控制時,.idea/ 和 *.iml 建議加入 .gitignore,避免團隊成員 IDE 配置衝突。