引起: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
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
提问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 said
or clean the project and run again.
NoClassDefFoundError
indicates 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
Uninstall the app
restart your phone
reinstall the app
卸载应用
重启你的手机
重新安装应用程序
回答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
, .build
and etc by android studio. It works! enjoy your coding!
如果你没有对你的项目做任何事情,但是发现了这个问题,你可以试试这个。Android是新的给我,所以当我得到这个问题,我清楚其中自动生成的包含的所有文件.gradle
,.build
并等由Android工作室。有用!享受你的编码!
回答by Qsufff
It looks like you have minifyEnabled true
in your gradle file in release buildTypes and minifyEnabled false
in debug.
看起来您minifyEnabled true
在发布 buildTypes 和minifyEnabled false
调试中的 gradle 文件中都有。
If so, try to add in your proguard-rules.profile:
如果是这样,请尝试在您的proguard-rules.pro文件中添加:
-keep class com.versus.hit.yeni.ACProgressFlower$Builder
-keep class com.versus.hit.yeni.JSONParser
-keep class com.versus.hit.yeni.ACProgressFlower$Builder
-keep class com.versus.hit.yeni.JSONParser