web-dev-qa-db-ja.com

原因:Java.lang.NoClassDefFoundError:ブートクラスローダーを使用してクラスが見つかりません。利用可能なスタックがありません

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>
4
user3820266

私は同様の問題に直面しました

私の場合、それはインスタント実行のために起こっています、ただそれを無効にしてください

後藤:

AndroidStudio->ファイル->設定->ビルド、実行、デプロイ->インスタント実行。

1
Puneet Verma

それは言っています-

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

呼び出しているものが同じパスのbinフォルダーに存在するかどうかを確認します。そうでない場合は、@ahmad saidと同じライブラリを再度追加するか、プロジェクトをクリーンアップして再実行してください。 NoClassDefFoundErrorは、クラスローダーが使用しようとしているクラスの.classファイルを見つけられないことを示します。

0
  1. アプリをアンインストールします

  2. 電話を再起動します

  3. アプリを再インストールします

0
Darush

私の場合、プロジェクトの場所を移動したために発生します。メインモジュールの「.gradle」パッケージを削除して、問題を解決します。

0
raymond

プロジェクトフォルダから一時的な。gradleフォルダを削除します。

0
Zon

プロジェクトで何もしなくても、この問題を見つけたら、これを試すことができます。 Androidは私にとって新しいので、この問題が発生したら、自動生成されたすべてのファイルをクリアします.gradle.buildなどby Android studio。動作します!コーディングをお楽しみください!

0
xh jia

ライブラリを正しい方法でリンクしてください。ライブラリはアプリでコンパイルされません。サードパーティのライブラリを使用している場合は、リンクするときにプロジェクトにコピーしていることを確認してください。リンクされたライブラリのスクリーンショットがさらに役立ちます。

また、補足として、ライブラリの処理においてEclipseよりもはるかに優れたAndroid Studioに移行してみてください。

0
Ahmed Awad

私は変更することによって私の解決しました

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

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

build.gradleファイル内。これで問題が解決した理由がわかりません。これはベータ版のバグである可能性があります。

0
gilsaints88