簡體   English   中英

android中的java.lang.NoClassDefFoundError

[英]java.lang.NoClassDefFoundError in android

我在項目中將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>

如果您使用的是jar文件。 不要通過“java Build path”添加。 Jar文件應該在libs文件夾中。 如果沒有libs文件夾創建它,請將您的jar文件放在libs文件夾中。 然后右鍵單擊jar文件並執行構建路徑並添加到構建路徑。

感謝你

com.mobiotics.tvbuddydemo.TVBuddyMainActivity未在android清單文件中聲明。

你已經宣布android:name=".TVBuddyMain"不需要android:name=".TVBuddyMain"

此外,訪問活動內部的靜態方法並不是一個好主意。

TVBuddyMainActivity.setSuccess(false)

通過意圖傳遞假值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM