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.TVBuddyMainActivity未在 android 清单文件中声明。

您已声明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 回答