java.lang.NoClassDefFoundError: android.support.v7.internal.widget.TintManager 解决办法

来源:互联网 发布:qq飞车s车时空战舰数据 编辑:程序博客网 时间:2024/05/22 14:47
之前还是ok的,今天添加了一个lib项目,运行时就报这样的错:
android.support.v7.internal.widget.TintManager at android.support.design.widget.TabLayout$TabView.(TabLayout.java:1145) at android.support.design.widget.TabLayout.createTabView(TabLayout.java:635) at android.support.design.widget.TabLayout.addTabView(TabLayout.java:669) at android.support.design.widget.TabLayout.addTab(TabLayout.java:365) at android.support.design.widget.TabLayout.addTab(TabLayout.java:340) at android.support.design.widget.TabLayout.setTabsFromPagerAdapter(TabLayout.java:624) at android.support.design.widget.TabLayout.setupWithViewPager(TabLayout.java:595) at com.erlawkward.albarol.eventlocatorapp.activity.activity.MainEventActivity.onCreate(MainEventActivity.java:41) at android.app.Activity.performCreate(Activity.java:5104) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)
  • 1
  • 1

最后在stackoverflow上找到了解决办法,不得不说这真是良心网站啊。 
想去stackoverflow看的点这里

问题原因

我引入的新lib中的build.gradle中的兼容包版本是:

compile 'com.android.support:appcompat-v7:23.3.0'
  • 1
  • 1

而我项目的版本是:

compile 'com.android.support:appcompat-v7:23.2.0'compile 'com.android.support:cardview-v7:23.2.0'compile 'com.android.support:recyclerview-v7:23.2.0'compile 'com.android.support:design:23.2.0'
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

而一个项目里同时只能使用一个版本的兼容包,所以系统可能使用了其中一种,导致另外一种版本的某些方法无法调用到。

解决办法

所以解决办法就是把整个项目里的所有兼容包版本都修改成一致,注意是所有,比如我就通过把项目兼容包都换成23.3.0后再运行就OK了。

0 0