Material-components-android: Application crash during TabLayout initialization on Android 4.x

Created on 4 Jun 2019  路  2Comments  路  Source: material-components/material-components-android

Hi

After updating the library to the alpha07 version, it gets such an exception.

Fatal Exception: java.lang.VerifyError: com/google/android/material/tabs/TabLayout$Tab
       at com.google.android.material.tabs.TabLayout.createTabFromPool(TabLayout.java:862)
       at com.google.android.material.tabs.TabLayout.newTab(TabLayout.java:852)
       at com.google.android.material.tabs.TabLayout.populateFromPagerAdapter(TabLayout.java:1474)
       at com.google.android.material.tabs.TabLayout.setPagerAdapter(TabLayout.java:1465)
       at com.google.android.material.tabs.TabLayout.setupWithViewPager(TabLayout.java:1378)
       at com.google.android.material.tabs.TabLayout.setupWithViewPager(TabLayout.java:1339)
       at com.google.android.material.tabs.TabLayout.setupWithViewPager(TabLayout.java:1319)
       at io.github.wulkanowy.ui.modules.grade.GradeFragment.initView(GradeFragment.java:81)
       at io.github.wulkanowy.ui.modules.grade.GradePresenter.onAttachView(GradePresenter.java:32)
       at io.github.wulkanowy.ui.modules.grade.GradeFragment.onActivityCreated(GradeFragment.java:57)
       at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2633)
       at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:897)
       at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1228)
       at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1293)
       at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)
       at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2066)
       at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1856)
       at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1811)
       at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1717)
       at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2650)
       at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManagerImpl.java:2600)
       at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:246)
       at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:542)
       at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201)
       at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1177)
       at android.app.Activity.performStart(Activity.java:5461)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2301)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2386)
       at android.app.ActivityThread.access$900(ActivityThread.java:169)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1277)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:5476)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
       at dalvik.system.NativeStart.main(NativeStart.java)

It appears only on android 4.x and I can't reproduce it on my phone and computer.
After the library has been downgraded to alpha05, everything works fine.
The information about this error I have from the reports from Crashlitycs

Most helpful comment

I did not know that. I added this to the ProGuard configuration file and it works.

-keep class com.google.android.material.tabs.** {*;}

Thanks for the suggestion.

All 2 comments

Hello, I have the very same problem! I found this issue can be reproduced only if you set minifyEnabled true in build.gradle, typically for release builds.

issue

I did not know that. I added this to the ProGuard configuration file and it works.

-keep class com.google.android.material.tabs.** {*;}

Thanks for the suggestion.

Was this page helpful?
0 / 5 - 0 ratings