2011-03-01 3 views
0

탭을 사용하며 Android 1.5 (API 레벨 3)와 호환되는 애플리케이션을 개발 중입니다.Android API 레벨 3의 드로어 블 리소스 해결 중 오류가 발생했습니다.

Tab icons compatibility between API level 3 and >=5을 참조하십시오. 기본적으로 나는 Google이 권장하는 것처럼 두 세트의 탭 아이콘을 가지고있다.

  • 대상> = 5에 대한 탭 아이콘은 drawable- (h/m/l) dpi-v5에 있습니다.
  • 대상에 대한 탭 아이콘 < 5 및 기타 모든 드로어 블 리소스는 드로어 블 (h/m/l) dpi로 배치됩니다.
  • 내 AndroidManifest.xml에 android:minSdkVersion="3"android:targetSdkVersion="5"이 있습니다. 내가 레벨을
  • 내 모든 코드가

> = 레벨 5 모든 것이 제대로 작동하는 장치/에뮬레이터에서 실행되는 호환 레벨 3 7 SDK를 사용하여 컴파일하고 있습니다
  • 는, 탭 아이콘은을 사용하여 확인 표시됩니다 - v5 자원. 장치 레벨 4에서도 모든 것이 정상적으로 작동하며 탭 아이콘도 괜찮습니다.

    그러나 기기 수준 3을 사용하면 드로어 블 리소스를 해결할 때 앱이 다운됩니다. 스택은 다음과 같이 말합니다 :

    Caused by: java.io.FileNotFoundException: res/drawable/splash_background.xml 
         at android.content.res.AssetManager.openXmlAssetNative(Native Method) 
         at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:471) 
         at android.content.res.Resources.loadXmlResourceParser(Resources.java:1825) 
    

    res/drawable/splash_background.xml이 있습니다. 이것은 하나의 예이며 드로어 블 리소스를 페치하려고 할 때 같은 오류가 발생합니다.

    실마리가 있습니까?

  • +0

    splash_background.xml은 다른 드로어 블을 참조합니까? 아마도 -v5 리소스에만 존재하는 것일까? –

    답변

    4

    -ldpi, -hdpi 및 -mdpi 한정자가 API 4에 추가되었으므로 작동하지 않습니다.

    Providing screen resource compatibility for Android 1.5을 참조하십시오.

    +0

    와우 덕분에, 나는 (h/m/l) dpi가 API 4에서 소개되었다는 것을 몰랐습니다. 기본적으로 drawable-mdpi에서 drawable으로 모든 것을 옮길 필요가 있습니다. – aromero

    +0

    @aromero 여러분을 환영합니다. 나는 내가 "오래된"책을 읽었 기 때문에 그 사실을 알았다고 생각합니다. 이러한 API는 빠르게 발전하고 있습니다. – bigstones

    +0

    3 시간 내로 그 문제를 파악했습니다. 나는 당신의 대답을 훨씬 빨리 보았 으면 좋겠다. 고마워, 큰일! –

    관련 문제