到目前为止,我一直在使用android支持库support-v4-18.0.2.jar。由于某种原因,我被迫切换到support-v4-19.0.1.jar。执行我的应用程序后,我得到了以下异常:
12-15 10:16:47.382:E / AndroidRuntime(1603):java.lang.NoClassDefFoundError:android.support.v4.view.ViewCompatGingerbread
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.support.v4.view.ViewCompat $ GBViewCompatImpl.getOverScrollMode(ViewCompat.java:406)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.support.v4.view.ViewCompat.getOverScrollMode(ViewCompat.java:628)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.support.v4.view.ViewPager.draw(ViewPager.java:2174)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.drawChild(ViewGroup.java:1646)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.View.draw(View.java:6936)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.drawChild(ViewGroup.java:1646)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.drawChild(ViewGroup.java:1644)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.drawChild(ViewGroup.java:1644)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.View.draw(View.java:6936)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.drawChild(ViewGroup.java:1646)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.drawChild(ViewGroup.java:1644)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.View.draw(View.java:6936)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.widget.FrameLayout.draw(FrameLayout.java:357)
12-15 10:16:47.382:E / AndroidRuntime(1603):在com.android.internal.policy.impl.PhoneWindow $ DecorView.draw(PhoneWindow.java:1917)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewRoot.draw(ViewRoot.java:1530)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewRoot.performTraversals(ViewRoot.java:1266)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.view.ViewRoot.handleMessage(ViewRoot.java:1868)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.os.Handler.dispatchMessage(Handler.java:99)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.os.Looper.loop(Looper.java:130)
12-15 10:16:47.382:E / AndroidRuntime(1603):位于android.app.ActivityThread.main(ActivityThread.java:3691)
12-15 10:16:47.382:E / AndroidRuntime(1603):at java.lang.reflect.Method.invokeNative(本机方法)
12-15 10:16:47.382:E / AndroidRuntime(1603):at java.lang.reflect.Method.invoke(Method.java:507)
12-15 10:16:47.382:E / AndroidRuntime(1603):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:907)
12-15 10:16:47.382:E / AndroidRuntime(1603):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
12-15 10:16:47.382:E / AndroidRuntime(1603):在dalvik.system.NativeStart.main(本机方法)
当我尝试所有带有ViewPager的活动时,就会发生这种情况。在切换到19.0.1之前,此方法工作正常。据我从LogCat可以得到的,在支持库中未定义类。我想那是过去的事。有趣的是,ViewPager本身在支持库中称为它。
这是支持库中的一个怪癖吗?我想念什么吗?有什么可以做的?
编辑:
我为Android 4.4编译。将我推向较新的支持库的同一更改也需要这样做。
我也尝试清洁。
最佳答案
SDK生成工具存在问题。不了解详细信息,但更新了SDK构建工具即可解决该问题。我错过了更新,因为其中两个人紧随其后。