Androidアプリケーションがあります。Eclipseでアプリを実行またはデバッグすると、エラーなしで警告なしでスムーズに動作します。その後、Google Playのapkを取得します。ユーザーがダウンロードすると、以下のエラーが発生します。グーグルプレイマーケットから。この問題を解決できなかったので助けてください。いくつかのクラスが見つかりません。
これは、開発者コンソールから発生するエラーです。
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$2.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$1.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$2.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
これが私のマニフェストです。
<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>
私は同様の問題に直面しました
私の場合、それはインスタント実行のために起こっています、ただそれを無効にしてください
後藤:
AndroidStudio->ファイル->設定->ビルド、実行、デプロイ->インスタント実行。
それは言っています-
Java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.ACProgressFlower$Builder"
呼び出しているものが同じパスのbinフォルダーに存在するかどうかを確認します。そうでない場合は、@ahmad said
と同じライブラリを再度追加するか、プロジェクトをクリーンアップして再実行してください。 NoClassDefFoundError
は、クラスローダーが使用しようとしているクラスの.classファイルを見つけられないことを示します。
アプリをアンインストールします
電話を再起動します
アプリを再インストールします
私の場合、プロジェクトの場所を移動したために発生します。メインモジュールの「.gradle」パッケージを削除して、問題を解決します。
プロジェクトフォルダから一時的な。gradleフォルダを削除します。
プロジェクトで何もしなくても、この問題を見つけたら、これを試すことができます。 Androidは私にとって新しいので、この問題が発生したら、自動生成されたすべてのファイルをクリアします.gradle
、.build
などby Android studio。動作します!コーディングをお楽しみください!
ライブラリを正しい方法でリンクしてください。ライブラリはアプリでコンパイルされません。サードパーティのライブラリを使用している場合は、リンクするときにプロジェクトにコピーしていることを確認してください。リンクされたライブラリのスクリーンショットがさらに役立ちます。
また、補足として、ライブラリの処理においてEclipseよりもはるかに優れたAndroid Studioに移行してみてください。
私は変更することによって私の解決しました
classpath 'com.Android.tools.build:gradle:2.0.0-beta2'
に
classpath 'com.Android.tools.build:gradle:1.3.0'
build.gradleファイル内。これで問題が解決した理由がわかりません。これはベータ版のバグである可能性があります。