2012-10-01 13 views
5

Mam pewne niestandardowe rysunki, ale niestety rysowanie nie jest ładowane podczas próby uruchomienia aplikacji na urządzeniu.Dziwny problem z przyczyną R.java powodujący niepoprawne ładowanie zasobu

  • Próbowałem oczyścić obszar roboczy ... Ten sam problem.
  • Próbowałem usunąć i ponownie zaimportować projekt czyszczący folder .metadata ... Ten sam problem.
  • Próbowałem usunąć plik autogenowy R.java ... Nic.
  • Próbowałem zmienić użyte obrazy ... Nic.
  • Zmieniłem nazwę ... Ops, tym razem losowanie z problemem zacznie działać, ALE ten sam problem występuje z innym obrazem.

Z różnych testów zauważyłem, że nie załadowany obraz jest zawsze pierwszy w

public static final class drawable {...} 

wewnątrz pliku automatycznie wygenerowany R.java

W szczegółach, obraz zasobem o adresie 0x7f020000:

public static final int bt_a_1=0x7f020000; 

te adresy są przypisane alfabetycznie , więc rozwiązałem po prostu dodanie innego obrazu o nazwie a1.png, który nie jest używany w projekcie.

Dzięki temu obejściu wszystkie prace dobrze, ale nie wiem, co jest przyczyną tego absurdalnego problemu.

EDIT

Jest to Android Wydanie stałe od wydania plastra miodu w zmianie Ia971bb242ceac5e8f9346094009a10f356399ab9

Problem dzieje się z powodu niskiego poziomu pamięci podręcznej zasobów kolizji błędu.

Więcej informacji na: https://android-review.googlesource.com/#/c/15815/

Ten problem może dzieje się we wszystkich urządzeń z OS starszego niż plaster miodu ... aby uniknąć błędów w tych urządzeń, należy użyć tej samej strategii, które opisałem.

+0

proszę pisać jedną z problematycznych plików rozciągliwych i powiedz nam zostały już zapisane zasobów. – Sam

+0

próby usunięcia R.java i wybierz kompilacji automatycznie. –

+0

Próbowałem również usunąć plik gen ... jest zawsze budowany automatycznie z tym samym problemem. – Silverstorm

Odpowiedz

Powiązane problemy