Activityのレイアウトファイル内で、SeekBarにベクター形式のドローワブルリソースを使用したら、実行環境のAndroidバージョンによってアプリの起動に失敗するケースに遭遇。
LogCat say "android.content.res.Resources$NotFoundException"
Unfortunately, App name has stopped. 問題が発生したため、アプリ名を終了します。
Android4.1と4.4で発生。
Android5.1、6.0、7.1.1、8.1、9.0では問題なく動作。
Android4.4以下はだめっぽい。
環境
- Android Studio3.4
- compileSdkVersion 28
- minSdkVersion 16
- targetSdkVersion 28
- Support Library28.0.0
- Android SDK Build-Tools 28.0.3
- Android Gradle Plug-in Version3.4.0
- Gradle Version 5.1.1
- ic_vector.xmlはAndroid Studio付属のVector Asset Studioにて生成
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_hoge.xml from drawable resource ID #0x7f06005d at android.content.res.Resources.loadDrawable(Resources.java:2101) at android.content.res.TypedArray.getDrawable(TypedArray.java:602) at android.widget.AbsSeekBar.<init>(AbsSeekBar.java:73) at android.widget.SeekBar.<init>(SeekBar.java:83) at android.support.v7.widget.AppCompatSeekBar.<init>(AppCompatSeekBar.java:47) at android.support.v7.widget.AppCompatSeekBar.<init>(AppCompatSeekBar.java:43) at android.support.v7.app.AppCompatViewInflater.createSeekBar(AppCompatViewInflater.java:239) at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:150) at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266) at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) at android.view.LayoutInflater.rInflate(LayoutInflater.java:756)? at android.view.LayoutInflater.rInflate(LayoutInflater.java:759)? at android.view.LayoutInflater.inflate(LayoutInflater.java:492)? at android.view.LayoutInflater.inflate(LayoutInflater.java:397)? at android.view.LayoutInflater.inflate(LayoutInflater.java:353)? at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)? at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)? at *****.*******.*********.MainActivity.onCreate(MainActivity.java:96)? at android.app.Activity.performCreate(Activity.java:5231)? at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)? at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)? at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)? at android.app.ActivityThread.access$800(ActivityThread.java:135)? at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)? at android.os.Handler.dispatchMessage(Handler.java:102)? at android.os.Looper.loop(Looper.java:136)? at android.app.ActivityThread.main(ActivityThread.java:5017)? at java.lang.reflect.Method.invokeNative(Native Method)? at java.lang.reflect.Method.invoke(Method.java:515)? at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)? at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)? at dalvik.system.NativeStart.main(Native Method)? Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #1: invalid drawable tag vector at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:933) at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877) at android.content.res.Resources.loadDrawable(Resources.java:2097) at android.content.res.TypedArray.getDrawable(TypedArray.java:602)? at android.widget.AbsSeekBar.<init>(AbsSeekBar.java:73)? at android.widget.SeekBar.<init>(SeekBar.java:83)? at android.support.v7.widget.AppCompatSeekBar.<init>(AppCompatSeekBar.java:47)? at android.support.v7.widget.AppCompatSeekBar.<init>(AppCompatSeekBar.java:43)? at android.support.v7.app.AppCompatViewInflater.createSeekBar(AppCompatViewInflater.java:239)? at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:150)? at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)? at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)? at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)? at android.view.LayoutInflater.rInflate(LayoutInflater.java:756)? at android.view.LayoutInflater.rInflate(LayoutInflater.java:759)? at android.view.LayoutInflater.inflate(LayoutInflater.java:492)? at android.view.LayoutInflater.inflate(LayoutInflater.java:397)? at android.view.LayoutInflater.inflate(LayoutInflater.java:353)? at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)? at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)? at *****.*******.*********.MainActivity.onCreate(MainActivity.java:96)? at android.app.Activity.performCreate(Activity.java:5231)? at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)? at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)? at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)? at android.app.ActivityThread.access$800(ActivityThread.java:135)? at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)? at android.os.Handler.dispatchMessage(Handler.java:102)? at android.os.Looper.loop(Looper.java:136)? at android.app.ActivityThread.main(ActivityThread.java:5017)? at java.lang.reflect.Method.invokeNative(Native Method)? at java.lang.reflect.Method.invoke(Method.java:515)? at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)? at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)? at dalvik.system.NativeStart.main(Native Method)? 05-14 05:45:55.398 4488-4488/? I/Process: Sending signal. PID: 4488 SIG: 9
↓最も近そうな事例↓stackoverflow.com
↓関係あるかもな事例↓