2017-10-14 3 views
1

私はOreoで自分のアプリケーションをテストしていますが、以前のバージョンのAndroidでは得られなかったかなり基本的な致命的な例外と思われます。android.view.InflateException Oreoでテストする場合のみ

10-14 21:03:38.004 6833-6833/com.nooriginalthought.yabs E/AndroidRuntime: FATAL EXCEPTION: main 
                      Process: com.nooriginalthought.yabs, PID: 6833 
                      java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nooriginalthought.yabs/com.nooriginalthought.yabs.MainActivity}: android.view.InflateException: Binary XML file line #428: Binary XML file line #428: Error inflating class <unknown> 
                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817) 
                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
                       at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
                       at android.os.Handler.dispatchMessage(Handler.java:105) 
                       at android.os.Looper.loop(Looper.java:164) 
                       at android.app.ActivityThread.main(ActivityThread.java:6541) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
                      Caused by: android.view.InflateException: Binary XML file line #428: Binary XML file line #428: Error inflating class <unknown> 
                      Caused by: android.view.InflateException: Binary XML file line #428: Error inflating class <unknown> 
                      Caused by: java.lang.reflect.InvocationTargetException 
                       at java.lang.reflect.Constructor.newInstance0(Native Method) 
                       at java.lang.reflect.Constructor.newInstance(Constructor.java:334) 
                       at android.view.LayoutInflater.createView(LayoutInflater.java:647) 
                       at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
                       at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720) 
                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788) 
                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 
                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) 
                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) 
                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) 
                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) 
                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) 
                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) 
                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                       at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:418) 
                       at android.app.Activity.setContentView(Activity.java:2654) 
                       at com.nooriginalthought.yabs.MainActivity.onCreate(MainActivity.java:155) 
                       at android.app.Activity.performCreate(Activity.java:6975) 
                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213) 
                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770) 
                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
                       at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
                       at android.os.Handler.dispatchMessage(Handler.java:105) 
                       at android.os.Looper.loop(Looper.java:164) 
                       at android.app.ActivityThread.main(ActivityThread.java:6541) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

はこの後、私はベクトル描画可能なリソースのためのandroid.content.res.Resources$NotFoundExceptionエラーの束を取得する - これらは、Androidの以前のバージョンで完璧に動作するものの。

これはAndroidスタジオエミュレータでテスト中に、Oreoデバイスにアクセスできないためです。

エラーはすべて非常に曖昧であるように見えます。コード内の任意の行を指す唯一のものが正しいレイアウトを呼び出す行を指していますsetContentView(R.layout.main);

main.xmlにライン428以下のように(膨張され、それがエラーで言及されたレイアウトファイルの行)である:

    <Button 
         android:id="@+id/email_button" 
         android:layout_width="50dp" 
         android:layout_height="32dp" 
         android:background="@drawable/ic_yabs_email_144x92" 
         android:backgroundTint="#ffff" 
         android:paddingRight="8dp" 
         android:paddingTop="8dp" 
         android:textColor="#ffff" 
         android:textSize="12dp" /> 
+0

'R.layout.main'とハイライトライン428(エラーに記載されています)を含めてください。 –

+0

ライン428は、レイアウトファイルが私のベクター描画可能ファイルの1つを背景として使用するボタンです。ドロアブルは、私が試したAndroidの他のバージョンで動作しているか、テストしているときに正しく表示されるので、プロジェクトに確実に存在します。 main.xmlレイアウトファイルのそのセクションを質問に追加します。 –

答えて

1

@デビッドMedenjakのおかげでいることを指摘エラーで参照されている行は実際に私のレイアウトファイルの行でした。そのレイアウト項目で使用されていたベクトル描画可能ファイルを調査しました。

ドロアブルのXMLからこの行を削除すると、エラーが修正されました。

<path android:fillColor="#000000" android:pathData="" android:strokeWidth="0.48000002"/> 

ノーpathDataとパスが何とか物事を殺したと思います。

関連する問題