NoClassDefFoundError的 - 的Andr​​oid 2.3.X [英] NoClassDefFoundError - Android 2.3.X

查看:213
本文介绍了NoClassDefFoundError的 - 的Andr​​oid 2.3.X的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一个类中定义的任务。 致命异常的NoClassDefFoundError是发生在下面的行

  MyCuteTask MyTask的=新MyCuteTask(方程)
 

下面是code

 公共类MyClass的{

    公共无效的run(){
        MyCuteTask MyTask的=新MyCuteTask(方程)
    }

    保护类MyCuteTask扩展的AsyncTask<字符串,整数,字符串> {
        ...
    }
}
 

最近,我有奇怪的错误报告。 当我实例化我的任务的Andr​​oid抛出异常。 我只用安卓2.3.X这个bug。

做任何你得到了同样的错误?

编辑:这里是堆栈跟踪

  java.lang.NoClassDefFoundError的:com.mathssolver.main.k
   在com.mathssolver.main.Logic.updateGraph(Logic.java:310)
   在com.mathssolver.main.Graph.update(Graph.java:249)
   在com.mathssolver.main.MathGraphFragment.plotFunction(MathGraphFragment.java:236)
   在com.mathssolver.main.MathGraphFragment.plot(MathGraphFragment.java:158)
   在com.mathssolver.main.MathGraphFragment.showExample(MathGraphFragment.java:141)
   在com.mathssolver.main.MathGraphFragment.onStart(MathGraphFragment.java:109)
   在android.support.v4.app.Fragment.performStart(Fragment.java:1810)
   在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:977)
   在android.support.v4.app.FragmentManagerImpl.performPendingDeferredStart(FragmentManager.java:842)
   在android.support.v4.app.FragmentManagerImpl.startPendingDeferredFragments(FragmentManager.java:1150)
   在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1506)
   在android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
   在android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
   在android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
   在android.support.v4.view.ViewPager.populate(ViewPager.java:919)
   在android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
   在android.view.View.measure(View.java:8323)
   在android.widget.RelativeLayout.measureChildHorizo​​ntal(RelativeLayout.java:581)
   在android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   在android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewRoot.performTraversals(ViewRoot.java:842)
   在android.view.ViewRoot.handleMessage(ViewRoot.java:1862)
   在android.os.Handler.dispatchMessage(Handler.java:99)
   在android.os.Looper.loop(Looper.java:130)
   在android.app.ActivityThread.main(ActivityThread.java:3806)
   在java.lang.reflect.Method.invokeNative(Method.java)
   在java.lang.reflect.Method.invoke(Method.java:507)
   在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
   在dalvik.system.NativeStart.main(NativeStart.java)
致:抛出java.lang.ClassNotFoundException:com.mathssolver.main.k装载机dalvik.system.PathClassLoader [/data/app/com.shakti.mathssolver-1.apk]
   在dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
   在java.lang.ClassLoader.loadClass(ClassLoader.java:551)
   在java.lang.ClassLoader.loadClass(ClassLoader.java:511)
   在com.mathssolver.main.Logic.updateGraph(Logic.java:310)
   在com.mathssolver.main.Graph.update(Graph.java:249)
   在com.mathssolver.main.MathGraphFragment.plotFunction(MathGraphFragment.java:236)
   在com.mathssolver.main.MathGraphFragment.plot(MathGraphFragment.java:158)
   在com.mathssolver.main.MathGraphFragment.showExample(MathGraphFragment.java:141)
   在com.mathssolver.main.MathGraphFragment.onStart(MathGraphFragment.java:109)
   在android.support.v4.app.Fragment.performStart(Fragment.java:1810)
   在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:977)
   在android.support.v4.app.FragmentManagerImpl.performPendingDeferredStart(FragmentManager.java:842)
   在android.support.v4.app.FragmentManagerImpl.startPendingDeferredFragments(FragmentManager.java:1150)
   在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1506)
   在android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
   在android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
   在android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
   在android.support.v4.view.ViewPager.populate(ViewPager.java:919)
   在android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
   在android.view.View.measure(View.java:8323)
   在android.widget.RelativeLayout.measureChildHorizo​​ntal(RelativeLayout.java:581)
   在android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   在android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   在android.view.View.measure(View.java:8323)
   在android.view.ViewRoot.performTraversals(ViewRoot.java:842)
   在android.view.ViewRoot.handleMessage(ViewRoot.java:1862)
   在android.os.Handler.dispatchMessage(Handler.java:99)
   在android.os.Looper.loop(Looper.java:130)
   在android.app.ActivityThread.main(ActivityThread.java:3806)
   在java.lang.reflect.Method.invokeNative(Method.java)
   在java.lang.reflect.Method.invoke(Method.java:507)
   在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
   在dalvik.system.NativeStart.main(NativeStart.java)
 

热线com.mathssolver.main.Logic.updateGraph(Logic.java:310)为

  MyCuteTask MyTask的=新MyCuteTask(方程)
 

解决方案

它的谷歌播放服务的问题。 (的https://$c$c.google.com/ P /安卓/问题/详细信息?ID = 81083

解决办法,以避免这种碰撞,直到谷歌修复它:

添加以下到您的应用程序#的onCreate()方法

 尝试{
  的Class.forName(android.os.AsyncTask);
}
捕获(的Throwable忽略){
  //忽略
}
 

请注意它的应用#的onCreate(),而不是活动#的onCreate()

更新:我可以验证上面的修改固定这些事故给我。

I have a Task defined in a class. Fatal exception "NoClassDefFoundError" is happening on following line

MyCuteTask myTask = new MyCuteTask(equations)

Here is the code

public class MyClass  {

    public void run() {
        MyCuteTask myTask = new MyCuteTask(equations)
    }

    protected class MyCuteTask extends  AsyncTask<String, Integer, String> {
        ...
    }
}

Recently, I have strange bug reports. Android throw an exception when I instantiate my task. I have this bug with android 2.3.X only.

Do any of you got the same bug?

EDIT: Here is the stack Trace

java.lang.NoClassDefFoundError: com.mathssolver.main.k
   at com.mathssolver.main.Logic.updateGraph(Logic.java:310)
   at com.mathssolver.main.Graph.update(Graph.java:249)
   at com.mathssolver.main.MathGraphFragment.plotFunction(MathGraphFragment.java:236)
   at com.mathssolver.main.MathGraphFragment.plot(MathGraphFragment.java:158)
   at com.mathssolver.main.MathGraphFragment.showExample(MathGraphFragment.java:141)
   at com.mathssolver.main.MathGraphFragment.onStart(MathGraphFragment.java:109)
   at android.support.v4.app.Fragment.performStart(Fragment.java:1810)
   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:977)
   at android.support.v4.app.FragmentManagerImpl.performPendingDeferredStart(FragmentManager.java:842)
   at android.support.v4.app.FragmentManagerImpl.startPendingDeferredFragments(FragmentManager.java:1150)
   at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1506)
   at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
   at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
   at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
   at android.view.View.measure(View.java:8323)
   at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:581)
   at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewRoot.performTraversals(ViewRoot.java:842)
   at android.view.ViewRoot.handleMessage(ViewRoot.java:1862)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:130)
   at android.app.ActivityThread.main(ActivityThread.java:3806)
   at java.lang.reflect.Method.invokeNative(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:507)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
   at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: java.lang.ClassNotFoundException: com.mathssolver.main.k in loader dalvik.system.PathClassLoader[/data/app/com.shakti.mathssolver-1.apk]
   at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
   at com.mathssolver.main.Logic.updateGraph(Logic.java:310)
   at com.mathssolver.main.Graph.update(Graph.java:249)
   at com.mathssolver.main.MathGraphFragment.plotFunction(MathGraphFragment.java:236)
   at com.mathssolver.main.MathGraphFragment.plot(MathGraphFragment.java:158)
   at com.mathssolver.main.MathGraphFragment.showExample(MathGraphFragment.java:141)
   at com.mathssolver.main.MathGraphFragment.onStart(MathGraphFragment.java:109)
   at android.support.v4.app.Fragment.performStart(Fragment.java:1810)
   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:977)
   at android.support.v4.app.FragmentManagerImpl.performPendingDeferredStart(FragmentManager.java:842)
   at android.support.v4.app.FragmentManagerImpl.startPendingDeferredFragments(FragmentManager.java:1150)
   at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1506)
   at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
   at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
   at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
   at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
   at android.view.View.measure(View.java:8323)
   at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:581)
   at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
   at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
   at android.view.View.measure(View.java:8323)
   at android.view.ViewRoot.performTraversals(ViewRoot.java:842)
   at android.view.ViewRoot.handleMessage(ViewRoot.java:1862)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:130)
   at android.app.ActivityThread.main(ActivityThread.java:3806)
   at java.lang.reflect.Method.invokeNative(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:507)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
   at dalvik.system.NativeStart.main(NativeStart.java)

Line at com.mathssolver.main.Logic.updateGraph(Logic.java:310) is

 MyCuteTask myTask = new MyCuteTask(equations)

解决方案

Its an google play services issue. (https://code.google.com/p/android/issues/detail?id=81083)

Workaround to avoid this crash till Google fixes it:

Add following into your Application#onCreate() method

try {
  Class.forName("android.os.AsyncTask");
}
catch(Throwable ignore) {
  // ignored
}

Note its Application#onCreate() and not Activity#onCreate()

Update: I can verify that above changes fixed these crashes for me.

这篇关于NoClassDefFoundError的 - 的Andr​​oid 2.3.X的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆