2012-01-20 186 views
12

我不是Android的新開發者。我有一個市場上的應用程序。但是,有時我得到報告奇怪的例外滿足以下條件:安卓資源未找到異常

java.io.FileNotFoundException: res/drawable-mdpi/background.png 

android.content.res.Resources$NotFoundException: File res/drawable-mdpi/background.png from drawable resource ID #0x7f02001f 

這是通過各種手段不真實的,否則我不會;噸編譯或運行程序自己。我也確信資源在那裏。這只是我報道的一個例外。其他資源主要佈局也有同樣的例外。

所以我的問題是這將如何發生?是否因爲Android系統安裝失敗,我的應用程序?我幾乎肯定這一定是這種情況,因爲我有許多用戶毫無問題地使用它。

請幫忙。

+0

有時我們也會發生一些佈局資源。雖然這種情況對我們來說並不重要,但它仍然是一個神祕的bug。感謝您的詢問。 – Snicolas

+2

您是否在所有屏幕尺寸和密度上測試了您的應用程序?也許問題可能是在某些屏幕上,在相應的目錄中找不到可繪圖 – Cata

+1

@Cata您不需要爲每個密度製作/填充可繪製的文件夾。例如,如果您只提供xdpi drawables,則mdpi屏幕會縮小drawable以正確繪製。 – Jonba

回答

3

可以有幾種可能的原因:

  1. 移動應用程序到SD卡。

  2. 從市場下載或安裝APK(文件可能損壞)時出現了一些問題。

  3. 用戶獲得APK與(通過藍牙例如,從其他用戶)從其他來源損壞的文件

  4. 一些系統漏洞(從軟件,布羅肯硬件)

,無論如何你對這個問題無能爲力。

1

難道是應用程序被推送到SD卡,而SD上的可繪製物發生了什麼。我發現類似的佈局問題相當可繪,這是因爲應用程序被推到SD。

+0

這真的是一個可能的答案,但不幸的是我不能測試這個,並說如果它是肯定的,因爲它發生在罕見案例。謝謝。 – Norbert

1

也許你已經包含了某些參考Android SDK內容的代碼。

就我而言,我面臨着類似的問題,當我從我的XML刪除線

android:background="?android:attr/actionBarItemBackground" 

,一切又正常工作。