引起:java.lang.NoClassDefFoundError: Class not found using the boot class loader; 没有可用的堆栈

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/34134312/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-11 15:21:14  来源:igfitidea点击:

Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

javaandroideclipsegoogle-playclassnotfoundexception

提问by user3820266

I have android application. When I run or debug app on my eclipse it Works smoothly with no error no warnings.After then I get apk for Google play. Useres are getting below errors when they downloaded it from Google play market. Please help me I was not able to solve this problem. It can not find some classes.

我有安卓应用程序。当我在 Eclipse 上运行或调试应用程序时,它运行顺利,没有错误,没有警告。之后我得到了 Google Play 的 apk。用户从 Google Play 市场下载时遇到以下错误。请帮助我我无法解决这个问题。它找不到某些类。

This is errors which getting from developer console;

这是从开发者控制台获取的错误;

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/versus/hit/yeni/JSONParser;
    at com.versus.hit.yeni.Signin$CheckUser.<init>(Signin.java:211)
    at com.versus.hit.yeni.Signin.onClick(Signin.java:121)
    at android.view.View.performClick(View.java:4785)
    at android.view.View$PerformClick.run(View.java:19858)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:155)
    at android.app.ActivityThread.main(ActivityThread.java:5696)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.JSONParser" on path: DexPathList[[zip file "/data/app/com.versus.hit.yeni-1/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
    ... 12 more
    Suppressed: java.lang.ClassNotFoundException: com.versus.hit.yeni.JSONParser
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
        ... 13 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available


java.lang.NoClassDefFoundError: Failed resolution of: Lcom/versus/hit/yeni/JSONParser;
    at com.versus.hit.yeni.Signup.parseJson(Signup.java:384)
    at com.versus.hit.yeni.Signup.onCreateView(Signup.java:165)
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
    at android.support.v4.app.FragmentManagerImpl.run(FragmentManager.java:440)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:155)
    at android.app.ActivityThread.main(ActivityThread.java:5696)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.JSONParser" on path: DexPathList[[zip file "/data/app/com.versus.hit.yeni-1/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
    ... 16 more
    Suppressed: java.lang.ClassNotFoundException: com.versus.hit.yeni.JSONParser
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
        ... 17 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available


java.lang.NoClassDefFoundError: Failed resolution of: Lcom/versus/hit/yeni/ACProgressFlower$Builder;
    at com.versus.hit.yeni.Signin$CheckUser.onPreExecute(Signin.java:236)
    at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
    at android.os.AsyncTask.execute(AsyncTask.java:535)
    at com.versus.hit.yeni.Signin.onClick(Signin.java:123)
    at android.view.View.performClick(View.java:4785)
    at android.view.View$PerformClick.run(View.java:19858)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:155)
    at android.app.ActivityThread.main(ActivityThread.java:5696)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.ACProgressFlower$Builder" on path: DexPathList[[zip file "/data/app/com.versus.hit.yeni-1/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
    ... 14 more
    Suppressed: java.lang.ClassNotFoundException: com.versus.hit.yeni.ACProgressFlower$Builder
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
        ... 15 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available


This is my manifest;

这是我的清单;

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.versus.hit.yeni"
android:versionCode="5"
android:versionName="1.2.2" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="22" />

 <uses-permission android:name="android.permission.INTERNET"/>
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
         <uses-permission android:name="android.permission.GET_ACCOUNTS" />
         <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
         <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >


          <activity android:name="com.versus.hit.yeni.SplashActivity"
        android:windowSoftInputMode="adjustPan"
        android:screenOrientation="portrait"
         android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
           <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

        </intent-filter>


             <intent-filter>
                  <action android:name="com.versus.hit.yeni.MY_ACTION" />
                    <action android:name="android.intent.action.VIEW" />
                  <category android:name="android.intent.category.DEFAULT" />
                  <category android:name="android.intent.category.BROWSABLE" />

                 <data  android:scheme="versus" android:host="www.versushit.com" />


              </intent-filter>


    </activity>


    <activity android:name="com.versus.hit.yeni.MainActivity"
        android:windowSoftInputMode="adjustPan"
        android:screenOrientation="portrait"
           android:theme="@style/Theme.Sherlock.Light.DarkActionBar" >


    </activity>
    <activity android:name="com.versus.hit.yeni.SearchActivity"

           android:theme="@style/ACPLDialog" >

    </activity>
    <activity android:name="com.versus.hit.yeni.PersonalPage"

        android:windowSoftInputMode="adjustPan"
           android:theme="@style/Theme.Sherlock.Light.DarkActionBar" >

    </activity>
     <activity android:name="com.versus.hit.yeni.FollowActivity"
           android:theme="@style/ACPLDialog" >

    </activity>


      <activity
        android:name="com.versus.hit.yeni.ReportActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.REPORT" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

    </activity>


        <activity
        android:name="com.versus.hit.yeni.MailSender"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIL" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

    </activity>



     <activity
        android:name=".FacebookLoginActivity"
          android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity
        android:name="com.facebook.LoginActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />




    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/appid" />

</application>

回答by Ahmed Awad

Please link your libs the correct way, your libraries are not compiled with your app, if you are using 3rd party libraries make sure you are copying them to the project when linking them. A screenshot of your linked libraries would help more.

请以正确的方式链接您的库,您的库未与您的应用程序一起编译,如果您使用的是 3rd 方库,请确保在链接它们时将它们复制到项目中。链接库的屏幕截图会更有帮助。

Also on a side note, try to move to Android Studio its much better than Eclipse in handling libraries.

另外顺便提一下,尝试转向 Android Studio,它在处理库方面比 Eclipse 好得多。

回答by Nitish Srivastava

it is saying -

它在说——

java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.ACProgressFlower$Builder"

check what you are calling is it exist in bin folder on the same path or not if not try to add again same library as @ahmad saidor clean the project and run again. NoClassDefFoundErrorindicates that the Class Loader cannot find the .class file for the class that you're trying to use.

如果不尝试再次添加与@ahmad said项目相同的库或清理项目并再次运行,请检查您正在调用的内容是否存在于相同路径的 bin 文件夹中。 NoClassDefFoundError表示类加载器找不到您尝试使用的类的 .class 文件。

回答by gilsaints88

I solved mine by changing

我通过改变解决了我的

classpath 'com.android.tools.build:gradle:2.0.0-beta2'

to

classpath 'com.android.tools.build:gradle:1.3.0'

in build.gradle file. I'm not sure why this solved the problem. This may be a bug in the beta version.

在 build.gradle 文件中。我不确定为什么这解决了这个问题。这可能是测试版中的一个错误。

回答by Darush

  1. Uninstall the app

  2. restart your phone

  3. reinstall the app

  1. 卸载应用

  2. 重启你的手机

  3. 重新安装应用程序

回答by Puneet Verma

I faced similar problem

我遇到了类似的问题

In my case it is happening because of instant run, Just disable it

在我的情况下,它是由于即时运行而发生的,只需禁用它

Goto :

去 :

Android Studio --> File --> Setting --> Build, execution, deploy --> Instant run.

Android Studio --> 文件 --> 设置 --> 构建、执行、部署 --> 即时运行。

回答by Zon

Remove temporary .gradlefolder from your Project folder.

从您的项目文件夹中删除临时.gradle文件夹。

回答by raymond

In my case it happens because I move the project location. I remove the ".gradle " package of main module, then solve the problem.

就我而言,这是因为我移动了项目位置。我删除了主模块的“.gradle”包,然后解决了问题。

回答by xh jia

If you don't do anything on your project, but catch this issue, this you can try. Android is new to me, so when I get this issue I clear all files which auto generated include .gradle, .buildand etc by android studio. It works! enjoy your coding!

如果你没有对你的项目做任何事情,但是发现了这个问题,你可以试试这个。Android是新的给我,所以当我得到这个问题,我清楚其中自动生成的包含的所有文件.gradle.build并等由Android工作室。有用!享受你的编码!

回答by Qsufff

It looks like you have minifyEnabled truein your gradle file in release buildTypes and minifyEnabled falsein debug.

看起来您minifyEnabled true在发布 buildTypes 和minifyEnabled false调试中的 gradle 文件中都有。

If so, try to add in your proguard-rules.profile:

如果是这样,请尝试在您的proguard-rules.pro文件中添加:

  1. -keep class com.versus.hit.yeni.ACProgressFlower$Builder
  2. -keep class com.versus.hit.yeni.JSONParser
  1. -keep class com.versus.hit.yeni.ACProgressFlower$Builder
  2. -keep class com.versus.hit.yeni.JSONParser