0

プロジェクトで Sherlock アクション バー ライブラリを新しいバージョンに更新しました。logcat をコンパイルして実行すると、NoClassDefFoundError が表示されます。

jarのバージョンを確認しました。プロジェクトの libs フォルダーに jar を追加しました。ビルドパスの順序とエクスポートタブも確認しました。また、クリーンアンドビルドも試しました。それでも私はNoClassDefFoundErrorを取得しています。

私のLogCatを以下に示します

 E/AndroidRuntime(9699): java.lang.NoClassDefFoundError: com.mobiotics.tvbuddydemo.TVBuddyMainActivity
 E/AndroidRuntime(9699):    at com.mobiotics.tvbuddydemo.SplashScreen.onCreate(SplashScreen.java:54)
 E/AndroidRuntime(9699):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
 E/AndroidRuntime(9699):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722)
 E/AndroidRuntime(9699):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
 E/AndroidRuntime(9699):    at android.app.ActivityThread.access$1500(ActivityThread.java:123)
 E/AndroidRuntime(9699):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
 E/AndroidRuntime(9699):    at android.os.Handler.dispatchMessage(Handler.java:99)
 E/AndroidRuntime(9699):    at android.os.Looper.loop(Looper.java:123)
 E/AndroidRuntime(9699):    at android.app.ActivityThread.main(ActivityThread.java:3839)
 E/AndroidRuntime(9699):    at java.lang.reflect.Method.invokeNative(Native Method)
 E/AndroidRuntime(9699):    at java.lang.reflect.Method.invoke(Method.java:507)
 E/AndroidRuntime(9699):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
 E/AndroidRuntime(9699):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
 E/AndroidRuntime(9699):    at dalvik.system.NativeStart.main(Native Method)

スプラッシュ画面のエラー行

TVBuddyMainActivity.setSuccess(false);

正常に動作する以前の原因がわかりません

私のメインフェスト

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mobiotics.tvbuddydemo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" 
    android:targetSdkVersion="15"
    />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" 
    android:theme="@style/MyTheme" 
    android:screenOrientation="portrait" 
    >
     <activity
        android:name=".SplashScreen"
        android:label="@string/app_name" 
        android:screenOrientation="portrait" 
         >
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
     </activity>
            <activity
        android:name=".TVBuddyMain"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
      </activity>
    <activity
        android:name=".CustomSearch"
        android:screenOrientation="portrait" 
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
      </activity>

    <activity 
        android:name=".PackageBuilderActivity"
        android:screenOrientation="portrait" 
        >           
    </activity>
      <service
        android:name="com.mobiotics.tvbuddy.data.service.Droid_service"
        android:exported="false" />
</application>
        <uses-permission android:name="android.permission.CAMERA" android:required="false"/>    
    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>
4

2 に答える 2

1

com.mobiotics.tvbuddydemo.TVBuddyMainActivityAndroidマニフェストファイルで宣言されていません。

あなたは必要のないことを宣言しandroid:name=".TVBuddyMain"ました。

さらに、アクティビティ内の静的メソッドにアクセスすることはお勧めできません。

TVBuddyMainActivity.setSuccess(false)

インテントを通じてその偽の値を渡します。

于 2013-04-12T07:33:11.037 に答える
1

jarファイルを使用している場合。「java Build path」で追加しないでください。Jar ファイルはlibsフォルダーにある必要があります。libs フォルダーがない場合は作成し、jar ファイルをlibsフォルダーに配置してください。次に、jarファイルを右クリックしてビルドパスを実行し、ビルドパスに追加します。

ありがとう

于 2013-04-12T07:06:43.703 に答える