2011-06-22 45 views
8

玉傢伙這沒有任何意義,我在所有和我不明白爲什麼我在我的應用程序收到此錯誤。我已經註冊的活動類在android manifrest XML ..的Android了java.lang.RuntimeException:無法實例活動ComponentInfo

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobile.batteryhelper/com.mobile.batteryhelper.Battery}: 
java.lang.ClassNotFoundException: Caused by: java.lang.ClassNotFoundException: com.mobile.batteryhelper.Battery in loader dalvik.system.PathClassLoader[/mnt/asec/com.mobile.batteryhelper-1/pkg.apk] 

這裏是AndroidManifest.xml中。是的.Battery類也擴展了Activity。

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Battery" 
       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> 
+0

<應用機器人:圖標= 「@繪製/圖標」 機器人:標籤= 「@串/ APP_NAME」> <活動機器人:名稱= 「電池」。 機器人:標籤= 「@串/ APP_NAME」 機器人:screenOrientation =「portrait」> user766380

+0

user766380如果答案解決您的問題,請標記爲接受。 – Edu

+0

對我來說,解決方案是這樣的:http://stackoverflow.com/a/21290422/1612469 – Aleks

回答

12

您是否試圖清理工作區。轉到Project-> Clean並選擇您的項目。出於某種原因,eclipse不會自動生成我的清單。

+2

感謝我猜只是進入項目>清潔的伎倆!有沒有一個原因,爲什麼Eclipse有時不會自動生成清單? – user766380

+0

我不知道。我猜想它的一個怪癖。我可能會在未來提交錯誤報告。 –

+0

它的工作對我來說... –

1

無論您清單包未com.mobile.batteryhelper,或者出現在你的代碼沒有com.mobile.batteryhelper.Battery類。也許你沒有該類的公共構造函數或類不聲明爲public(雖然我認爲你會得到在這種情況下,一個稍微不同的錯誤信息)。

確保您不使用ProGuard剝去你的代碼。確保類是公共的,在正確的包(與你的清單包),以及不具有構造函數。另外,如果在內部有一些有用的內容,則可以查看整個錯誤堆棧。

+0

@ hackbod-將構造也給錯誤? – stack

2

在OnCreate被調用之前,您是否嘗試過在您的類中初始化任何東西?
如果初始化靜態變量(例如),它可以給你這個(僵硬鈍角)錯誤。

2

其實我發現我的回答同樣的問題在這裏: java.lang.ClassNotFoundException on working app

你不用於應用標籤提供一個名稱,只有活動。所以,如果你的問題是我的一樣,你應該能夠刪除下面的事情會工作:

機器人:「電池」 NAME =

1

右鍵單擊您的電池類> BuildPath>排除 然後 右鍵單擊您的電池類> BuildPath>再次包含您的類

6

您已將第三方庫放入庫文件夾並引用它們。轉到屬性/ Java構建路徑/庫/添加外部JAR。

檢查屬性/ Java構建路徑的jar文件/訂單和出口

1

我得到了這個問題,並通過移動其放在「LIB」文件夾「的所有.jar文件(外部庫文件)修復庫「文件夾。不知何故,日食只知道放於庫.jar文件夾

+0

感謝很多朋友....它的工作 –

0

仔細查看崩潰日誌:

loader dalvik.system.PathClassLoader[/mnt/asec/com.mobile.batteryhelper-1/pkg.apk 

這裏mnt意味着外置SD卡。

通常情況下,當android:installLocation="auto"在 AndroidManifest.xml中設定,如果設備沒有足夠的手機內存,那麼 應用程序將被存儲在SD卡上。從設備上刪除SD卡 後,應用程序無法找到APK位置,則應用程序崩潰。

步驟產生碰撞:

問題能夠在HTC轟動複製2.3.4版本。

  • 移動應用程序到SD卡前往 設置 - >管理應用程序 - >點擊應用程序 - >移至SD卡
  • 從設備中取出SD卡並打開該應用

如果用的是三星的設備嘗試,它不會崩潰,但它不會顯示該應用程序,如果你刪除SD卡。此行爲僅適用於少數設備。

2

我有同樣的問題。這是一個相當混亂的錯誤,直到我找到出路。轉到屬性> Java構建路徑>訂單和導出,然後將您的android-support-v4.jar移動到頂部。它爲我工作得很好。試試看。

0

我有同樣的問題,我通過更新ADT插件解決它。

0

你可以從你的手機或你的模擬器

0

什麼工作對我來說是刪除裏面的「構建」文件夾中的最裏面的文件,這些文件生成的,中間體,輸出和TMP裏面的文件中刪除的應用程序。

相關問題