2013-04-19 14 views
13

Sono sviluppare applicazioni Android e poi voglio ulteriore nuova attività ho avuto errore sul mio logcatjava.lang.RuntimeException: impossibile creare un'istanza di attività ComponentInfo/ClassNotFoundException

mio LogCat:

04-19 12:59:17.654: D/AndroidRuntime(18135): Shutting down VM 
04-19 12:59:17.654: W/dalvikvm(18135): threadid=1: thread exiting with uncaught exception (group=0x4001d878) 
04-19 12:59:17.684: E/AndroidRuntime(18135): FATAL EXCEPTION: main 
04-19 12:59:17.684: E/AndroidRuntime(18135): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.bvblogic.android.batterypower/com.bvblogic.android.batterypower.activities.UnlockActivity}: java.lang.ClassNotFoundException: com.bvblogic.android.batterypower.activities.UnlockActivity in loader dalvik.system.PathClassLoader[/data/app/com.bvblogic.android.batterypower-1.apk] 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2587) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2681) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.os.Looper.loop(Looper.java:123) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.app.ActivityThread.main(ActivityThread.java:4640) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at java.lang.reflect.Method.invokeNative(Native Method) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at java.lang.reflect.Method.invoke(Method.java:521) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at dalvik.system.NativeStart.main(Native Method) 
04-19 12:59:17.684: E/AndroidRuntime(18135): Caused by: java.lang.ClassNotFoundException: com.bvblogic.android.batterypower.activities.UnlockActivity in loader dalvik.system.PathClassLoader[/data/app/com.bvblogic.android.batterypower-1.apk] 
04-19 12:59:17.684: E/AndroidRuntime(18135): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
04-19 12:59:17.684: E/AndroidRuntime(18135): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2579) 
04-19 12:59:17.684: E/AndroidRuntime(18135): ... 11 more 

mio manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.bvblogic.android.batterypower" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="8" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.BATTERY_STATS" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.BLUETOOTH" /> 
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
    <uses-permission android:name="android.permission.HARDWARE_TEST" /> 
    <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 
    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> 
    <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity android:name=".activities.UnlockActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="com.bvblogic.android.batterypower.activities.BatteryPowerTabActivity" > 
     </activity> 
     <activity android:name="com.bvblogic.android.batterypower.activities.MonitoringActivity" > 
     </activity> 
     <activity android:name="com.bvblogic.android.batterypower.activities.SettingsActivity" > 
     </activity> 
     <activity android:name="com.bvblogic.android.batterypower.activities.ProcessManagerActivity" > 
     </activity> 
     <activity 
      android:name="com.bvblogic.android.batterypower.activities.DummyBrightnessActivity" 
      android:excludeFromRecents="true" 
      android:taskAffinity="com.bvblogic.android.batterypower.Dummy" 
      android:theme="@android:style/Theme.Translucent.NoTitleBar" > 
     </activity> 

     <service android:name="com.bvblogic.android.batterypower.util.TurboBoost" > 
     </service> 
     <service android:name="com.bvblogic.android.batterypower.services.BatteryPowerService" /> 

     <receiver 
      android:name="com.bvblogic.android.batterypower.alarm.RegistrationAlarm" 
      android:process=":registration" > 
     </receiver> 
     <receiver 
      android:name="com.bvblogic.android.batterypower.alarm.OnlinePingAlarm" 
      android:process=":ping" > 
     </receiver> 
     <receiver 
      android:name="com.bvblogic.android.batterypower.alarm.AdNotificationAlarm" 
      android:process=":remote" > 
     </receiver> 
     <receiver 
      android:name="com.bvblogic.android.batterypower.widget.MWidgetProvider" 
      android:icon="@drawable/btn_remove" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
      </intent-filter> 

      <meta-data 
       android:name="android.appwidget.provider" 
       android:resource="@xml/widget_provider" /> 
     </receiver> 
    </application> 

</manifest> 

La mia attività:

package com.bvblogic.android.batterypower.activities; 

import com.bvblogic.android.batterypower.R; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 

public class UnlockActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.settings_auto_saving_layout); 
    } 
} 

Quindi mi viene assegnato il filtro intent per l'applicazione BatteryPowerTabActivity avviata correttamente. Mi aiuti per favore. Grazie

+0

perché non ho accettato la mia risposta – codercat

risposta

19

Durante l'aggiornamento, l'ordine e l'esportazione delle nuove "Librerie private Android" non viene sempre controllato. E Android-support-v4.jar è ora in questa sezione 'Librerie private Android'.

Per risolvere questo problema, andare su "Ordina ed esporta" e selezionare "Librerie private Android". Quindi aggiornare/pulire/ricostruire.

Dopo aver eseguito questa 'correzione' per un progetto di libreria, potrebbe essere necessario chiudere e riaprire qualsiasi progetto dipendente, poiché potrebbero non vedere immediatamente questa 'correzione'.

enter image description here

+1

grazie +1, mi fa risparmiare tempo – andrewww

+0

Per me era in Ordine ed Esporta: spostando il mio/src e/gen in cima alla lista #fml – jackocnr

+0

Dopo aver risolto questo problema, penso che in realtà stia cancellando la mia uscita/dir (nel mio progetto phonegap questo era nelle piattaforme/android/out/ – jackocnr

7

cambiare la vostra dichiarazione di attività nel file manifesto in

<activity android:name=".UnlockActivity"> 

oppure

<activity android:name="Yourcompletepackagename.UnlockActivity"> 

e provare

+0

Ciao, grazie per la risposta. Ma l'applicazione è andata in crash rispetto a quello che sto per iniziare ( –

+0

ciò che il tuo logcat dice questa volta – vinoth

+0

è il primo che –

0

linea di cambiamento da

<activity android:name=".activities.UnlockActivity"> 

al

<activity android:name=".com.bvblogic.android.batterypower.activities.UnlockActivity 
"> 
+0

Lo stesso risultato, don ' t work ( –

+0

Ho deciso il mio problema, è stato semplicemente) Vado Progetto> Proprietà> Costruttori e seleziona tutte le caselle di controllo) Grazie a tutti) –

5

Amico, questo è successo anche a me quando la mia app è stata già pubblicata sul mercato. E 'stato un disastro totale. L'ho realizzato dopo 5 ore di pubblicazione.

Nessun problema eseguendolo con l'ADT. Il problema era con l'APK generato. Pertanto, se pubblichi un'app, verifica l'installazione dell'APK puro nel telefono di prova.

Come voi, penso anche che il problema fosse con l'aggiornamento del mio ADT, nel mio caso v22.

La soluzione era quella di pulire e costruire il progetto:

Android java.lang.RuntimeException: Unable to instantiate activity ComponentInfo

+0

Sono contento di aver trovato la soluzione - questa era esattamente la mia situazione. Ho semplicemente dovuto ricostruire e ricreare il mio '.apk'. – jtooker

3

Ho avuto lo stesso problema, ma ho avuto la mia attività dichiarata nel file manifesto, con il nome corretto.

Il mio problema era che non avevo bisogno di importare una libreria di terze parti in una cartella "libs", e avevo bisogno di farvi riferimento nel mio proyect (clic destro, proprietà, percorso di costruzione Java, librerie, aggiunta di jar. ..).

Informazioni su come si dichiara un'attività nel file manifest, è corretto utilizzare .ActivityName sempre che l'attività sia nel pacchetto principale.

4

questo può accadere se la classe di attività è all'interno di un pacchetto di default. L'ho risolto spostando la classe di attività in un nuovo pacchetto. e cambiando il manifest.xml

prima

attività android: name = "MainActivity."

dopo

attività android: name = "new_package.MainActivity"

1

Sono d'accordo con che @codercat ti ha consigliato di fare, ma questo errore si verifica anche quando stai utilizzando v7 e anche v13 nella stessa struttura di progetto per diverse funzionalità. Pertanto, vi consiglio per copia il file jar v13 nelle librerie cartella (NON importarlo come un vaso esterno) e poi controllo le librerie Android e dipendenze Android. Aggiorna il tuo progetto e poi ripulisci il tuo progetto. Sono sicuro che l'errore che stai affrontando andrà via.

+0

Ciao. In questo progetto (che è stato sviluppato un anno fa) non ho usato nessuna libreria di compatibilità Grazie per la tua risposta +1 –

1

ho anche avendo lo stesso problema e ho appena spegne automaticamente costruire e costruire il mio progetto Android manualmente e pulito il mio progetto che ha risolto questo errore per me

+0

Ciao grazie per la soluzione di interesse Molti problemi possono essere risolti con un progetto pulito e ricostruito –

0

Pulizia del progetto ha lavorato per me. Potresti chiedermi cosa ha portato al problema? LOL Ho provato ad aggiornare un progetto ad Android 5 dalla 4.4 e poi ho cambiato idea e ho provato a ripristinarlo in kitkat, quindi voilà! questo errore è venuto fuori.

0

si potrebbe avere dichiarato String a = edt.getText().toString(); o int 5/3 quindi tali errori utilizzano per venire

così,
li dichiarano in errore metodo onCreate sarà risolto

0

risolvo questo problema nome del pacchetto remove (com.blogspot.geekonjava) da AndroidManifest.xml come:

<activity 
      android:name="com.blogspot.geekonjava.MainActivity" 
      android:theme="@style/Theme.AppCompat.Light" 
      android:label="@string/app_name" > 

a

<activity 
      android:name=".MainActivity" 
      android:theme="@style/Theme.AppCompat.Light" 
      android:label="@string/app_name" > 

il lavoro per me auguro che funziona per voi.

Problemi correlati