そのため、最近、buildToolsVersion を 26.0.2 に更新しました。そして、CircularProgressButton を作成しようとするときに使用している CircularProgressButton ライブラリでコードがクラッシュします (ライブラリを参照してください。サポートされていないライブラリを使用する価値があることがわかっています)。
スタック トレースは、これが InflationException "Binary XML file line #0" によって発生したことを示しています。しかし、デバッグ中に追跡すると、 TypedArray.getDimension() 呼び出しがクラッシュの真の根本原因である UnsupportedOperationExcetion をスローしていることがわかります。getDimension() メソッドで起こっていることは、TypedValue が TYPE_DIMENSION であることを期待しているが、それは TYPE_STRING であるということです。属性または TypedValue がどのように/どのように設定されているかを確認できる場所を知っている人はいますか?
完全なスタック トレース:
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.salesrabbit.android.sales.universal/com.salesrabbit.android.sales.universal.nav.MainActivity}:
android.view.InflateException: Binary XML file line #0: Binary XML file line #0:
Error inflating class com.dd.CircularProgressButton
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class com.dd.CircularProgressButton
at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at com.salesrabbit.android.sales.universal.auth.OnboardingFragment.onCreateView(OnboardingFragment.java:111)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2064)
at android.support.v4.app.Fragment.performStart(Fragment.java:2270)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1381)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636)
at android.support.v4.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:2984)
at android.support.v4.app.FragmentController.dispatchStart(FragmentController.java:203)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:613)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
at com.trello.rxlifecycle2.components.support.RxAppCompatActivity.onStart(RxAppCompatActivity.java:66)
at com.salesrabbit.android.sales.universal.BaseActivity.onStart(BaseActivity.java:75)
at com.salesrabbit.android.sales.universal.nav.MainActivity.onStart(MainActivity.java:328)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1237)
at android.app.Activity.performStart(Activity.java:6268)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class com.dd.CircularProgressButton
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.parse
編集: これは、CircularProgressButton を使用している場合の XML の場所です。しばらく変更されていません。
<com.dd.CircularProgressButton
android:id="@+id/loginButton"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.7"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:elevation="2dp"
android:textColor="@android:color/white"
android:textSize="16sp"
app:cpb_colorIndicator="?attr/colorPrimary"
app:cpb_colorIndicatorBackground="@color/cpb_grey"
app:cpb_colorProgress="?android:colorBackground"
app:cpb_selectorIdle="?attr/colorPrimary"
app:cpb_textIdle="@string/login_btn" />