2012-01-20 35 views
12

Nie jestem nowym programistą dla Androida. Mam aplikację na rynku. Jednak czasami mam dziwne wyjątki zgłaszane do wystąpiły:Niesprawny zasób Android nie znaleziono wyjątek

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

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

Jest to ze wszech miar nieprawdziwe, ponieważ w przeciwnym razie byłoby miło; t Zebraliśmy lub uruchom program sam. Jestem też pewien, że zasoby tam są. To tylko jeden z wyjątków, o których mi doniesiono. Istnieją te same wyjątki dla innych zasobów, głównie układów.

Moje pytanie brzmi: jak to się stanie? Czy to dlatego, że system Android nie zainstalował poprawnie mojej aplikacji? Jestem prawie pewien, że tak musi być, ponieważ mam wielu użytkowników, którzy używają go bez problemu.

Proszę o pomoc w tej sprawie.

+0

Czasami nam się to zdarza z niektórymi zasobami układu. Chociaż sytuacja jest dla nas daleka od krytycznego, pozostała tajemniczym błędem. Dzięki, że pytasz. – Snicolas

+2

Czy testowałeś swoją aplikację na wszystkich ekranach i gęstościach? Być może problemem może być to, że na niektórych ekranach nie znaleziono rysunków w odpowiednim katalogu. – Cata

+1

@Cata Nie powinieneś robić/zapełniać folderów do rysowania dla każdej gęstości. Jeśli na przykład udostępnisz tylko rysunki w formacie xdpi, ekran mdpi przeskaluje rysunki, aby poprawnie rysować. – Jonba

Odpowiedz

3

Nie może być kilka możliwych powodów:

  1. Przenoszenie aplikacji na kartę SD.

  2. Wystąpił problem z pobieraniem lub instalowaniem pakietu APK z rynku (plik może być uszkodzony).

  3. Użytkownik dostać APK z uszkodzonego pliku z innego źródła (na przykład poprzez Bluetooth z innym użytkownikiem)

  4. jakiś błąd systemu (z oprogramowaniem do Brocken sprzętu)

dowolny sposób nie może zrobić nic z tym problemem.

1

Czy to możliwe, że aplikacja została przekazana na kartę SD i coś się stanie z losowaniem podczas przebywania na karcie SD. Widziałem podobne problemy z układami, które można rysować, a to dlatego, że aplikacja została przekazana do SD.

+0

To jest naprawdę prawdopodobna odpowiedź, ale niestety nie mogę tego przetestować i powiedzieć, czy jest to na pewno rzadkie przypadki. Dziękuję Ci. – Norbert

1

Być może zawierasz pewne kody, które odnoszą się do zawartości z zestawu SDK systemu Android.

W moim przypadku, w obliczu podobnego problemu, a kiedy usunięto linię

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

z mojego xml, wszystko działa poprawnie ponownie.

Powiązane problemy