2010-09-06 38 views
0

如果我用Android 2.2 SDK目標編譯我的應用程序,它將不會在Android 1.5上運行。如果我用2.1編譯,它工作正常。這個問題似乎在尋找我的一些資源文件。這裏的堆棧轉儲:1.5編譯時遇到的資源問題2.2

09-06 11:22:15.387 W/ResourceType(2702): Failure getting entry for 0x7f020004 (t=1 e=4) in package 0: 0xffffffb5 
09-06 11:22:15.397 W/System.err(2702): android.view.InflateException: Binary XML file line #22: Error inflating class java.lang.reflect.Constructor 
09-06 11:22:15.442 W/System.err(2702): at android.view.LayoutInflater.createView(LayoutInflater.java:512) 
09-06 11:22:15.442 W/System.err(2702): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
09-06 11:22:15.442 W/System.err(2702): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562) 
09-06 11:22:15.442 W/System.err(2702): at android.view.LayoutInflater.rInflate(LayoutInflater.java:617) 
09-06 11:22:15.442 W/System.err(2702): at android.view.LayoutInflater.parseInclude(LayoutInflater.java:701) 
09-06 11:22:15.442 W/System.err(2702): at android.view.LayoutInflater.rInflate(LayoutInflater.java:613) 
09-06 11:22:15.442 W/System.err(2702): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
09-06 11:22:15.442 W/System.err(2702): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
09-06 11:22:15.442 W/System.err(2702): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
09-06 11:22:15.442 W/System.err(2702): at com.drclabs.android.wootchecker.MainActivity.onCreate(MainActivity.java:203) 
09-06 11:22:15.442 W/System.err(2702): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 
09-06 11:22:15.442 W/System.err(2702): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231) 
09-06 11:22:15.442 W/System.err(2702): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284) 
09-06 11:22:15.442 W/System.err(2702): at android.app.ActivityThread.access$1800(ActivityThread.java:112) 
09-06 11:22:15.442 W/System.err(2702): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692) 
09-06 11:22:15.442 W/System.err(2702): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-06 11:22:15.442 W/System.err(2702): at android.os.Looper.loop(Looper.java:123) 
09-06 11:22:15.442 W/System.err(2702): at android.app.ActivityThread.main(ActivityThread.java:3948) 
09-06 11:22:15.442 W/System.err(2702): at java.lang.reflect.Method.invokeNative(Native Method) 
09-06 11:22:15.447 W/System.err(2702): at java.lang.reflect.Method.invoke(Method.java:521) 
09-06 11:22:15.447 W/System.err(2702): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782) 
09-06 11:22:15.447 W/System.err(2702): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) 
09-06 11:22:15.447 W/System.err(2702): at dalvik.system.NativeStart.main(Native Method) 
09-06 11:22:15.447 W/System.err(2702): Caused by: java.lang.reflect.InvocationTargetException 
09-06 11:22:15.447 W/System.err(2702): at android.widget.ImageView.<init>(ImageView.java:103) 
09-06 11:22:15.447 W/System.err(2702): at java.lang.reflect.Constructor.constructNative(Native Method) 
09-06 11:22:15.447 W/System.err(2702): at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
09-06 11:22:15.452 W/System.err(2702): at android.view.LayoutInflater.createView(LayoutInflater.java:499) 
09-06 11:22:15.452 W/System.err(2702): ... 22 more 
09-06 11:22:15.452 W/System.err(2702): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f020004 a=-1 r=0x7f020004} 
09-06 11:22:15.457 W/System.err(2702): at android.content.res.Resources.loadDrawable(Resources.java:1609) 
09-06 11:22:15.457 W/System.err(2702): at android.content.res.TypedArray.getDrawable(TypedArray.java:548) 
09-06 11:22:15.457 W/System.err(2702): at android.widget.ImageView.<init>(ImageView.java:113) 
09-06 11:22:15.457 W/System.err(2702): ... 26 more 

在我的清單中的相關行:

<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="3"/> 

相關資源是位於RES /提拉 - 華電國際/ red_heart.png小PNG圖像。 如果用戶的設備支持它們,我想添加對2.2中某些新功能的支持,但如果我無法針對2.2 SDK進行編譯而不打破1.5用戶的應用程序,我無法做到這一點。

有沒有人有任何想法如何解決這個問題?我需要在我的佈局文件中存儲或引用圖像資源的方式做一些不同的事情嗎?

回答

2

我想我讀了一些關於drawables的討論,你必須在res/drawables目錄中包含drawables以便讓它們在較低的sdk版本中工作。如果我再次找到它,我會更新鏈接。