在 Android 開發過程中,使用 assetManager.open("province_data.xml") 讀取 assets 目錄下的資源文件時,若遇到「找不到文件」或報錯的情況,往往是因為 assets 文件夾的放置位置不正確。這在從 Eclipse 遷移到 Android Studio、或初次使用 Android Studio 時尤為常見。
代碼執行到 assetManager.open("province_data.xml") 時拋出異常,提示文件不存在。明明已在專案中建立了 assets 文件夾並放入文件,為何仍讀取失敗?

Android Studio 的專案結構與舊版 Eclipse (ADT) 截然不同。在 Android Studio 中,assets 文件夾必須放置在 src/main/assets/ 目錄下,而非專案根目錄或 src/ 直屬目錄。若放置位置錯誤,Gradle 構建時不會將其打包進 APK,導致運行時找不到資源。
main 目錄(路徑通常為 app/src/main)。main,點擊 Finish。province_data.xml)拷貝至該目錄下。
構建成功後,可在 build/intermediates/merged_assets/debug/out/ 目錄下確認文件是否已正確打包。此時再運行 assetManager.open() 即可正常讀取。
res/ 目錄以獲得資源 ID 優化。