web-dev-qa-db-fra.com

java.lang.RuntimeException: impossible d'instancier l'activité ComponentInfo/ClassNotFoundException

Je développe une application Android et je souhaite ajouter une nouvelle activité sur mon logcat.

Mon 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

Mon manifeste.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>

Mon activité:

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);
    }
}

Ensuite, l’intention-filter de l’application BatteryPowerTabActivity a démarré correctement. Aidez-moi, s'il vous plaît. Merci

13
a.black13

Lors de la mise à niveau, la "Commande et exportation" des nouvelles "Bibliothèques privées Android" n'est pas toujours cochée. Et Android-support-v4.jar est maintenant dans cette section "Bibliothèques privées Android".

Pour résoudre ce problème, allez à «Commander et exporter» et cochez la case «Bibliothèques privées Android». Puis actualiser/nettoyer/reconstruire.

Une fois que vous avez effectué cette «correction» pour un projet de bibliothèque, vous devrez peut-être simplement fermer et rouvrir tout projet dépendant, car ils risquent de ne pas voir cette «correction» immédiatement.

enter image description here

19
codercat

changer votre déclaration d'activité dans le fichier manifeste en 

 <activity Android:name=".UnlockActivity">

ou sinon

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

et essaye

7
vinoth

Cela peut arriver si votre classe d'activité est dans un package par défaut. Je l'ai corrigé en déplaçant la classe d'activité vers un nouveau package. et changer le fichier manifest.xml

avant

activité Android: name = ". MainActivity"

après

activité Android: name = "new_package.MainActivity" 

5
Satthy

Mec, cela m'est aussi arrivé quand mon application a déjà été publiée sur le marché. C'était un désastre total. Je l'ai réalisé après 5 heures de publication déjà.

Il n'y avait aucun problème en l'exécutant avec l'ADT. Le problème était avec l'APK généré. Donc, si vous publiez une application, testez l'installation de l'APK pur sur votre téléphone test.

En tant que vous, je pense aussi que ce problème était lié à la mise à jour de mon ADT, dans mon cas v22.

La solution consistait à nettoyer et à construire le projet:

Android Java.lang.RuntimeException: impossible d'instancier l'activité ComponentInfo

5
Rowinson Gallego

J'ai eu le même problème, mais mon activité a été déclarée dans le fichier Manifest, avec le nom correct.

Mon problème était que je n'avais pas besoin d'importer des bibliothèques tierces dans un dossier "libs" et que j'avais besoin de les référencer dans mon projet (clic droit, propriétés, chemin de construction Java, bibliothèques, Ajouter un fichier ...).

À propos de la manière de déclarer une activité dans le fichier manifeste, l’utilisation correcte est toujours .ActivityName toujours cette activité dans le paquet principal. 

Je suis d'accord avec ce que @codercat vous a conseillé de faire, mais cette erreur survient également lorsque vous utilisez v7 et également v13 dans la même structure de projet pour différentes fonctionnalités. Par conséquent, je vous conseille de copier le fichier jar v13 dans le dossier libs (ne l’importez pas en tant que jar externe), puis vérifier les bibliothèques Android et dépendances Android . Actualisez votre projet puis nettoyez votre projet. Je suis sûr que l'erreur à laquelle vous faites face va disparaître.

1
Kaveesh Kanwal

j'ai également le même problème et je viens de désactiver la construction automatiquement et de construire mon projet Android manuellement et nettoyé mon projet qui a résolu cette erreur pour moi

1
David Fetcher

changer de ligne de

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

à

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

Nettoyer le projet a fonctionné pour moi. Vous pourriez me demander ce qui a conduit à la question? LOL J'ai essayé de mettre à niveau un projet vers Android 5 à partir de la version 4.4, puis j'ai changé d'avis et j'ai essayé de le restaurer sur KitKat, puis le tour est joué! cette erreur est survenue.

0
Oladipo Olasemo

Je résous ce problème en supprimant le nom du paquet ( com.blogspot.geekonjava ) de AndroidManifest.xml like:

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

à 

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

Cela fonctionne pour moi j'espère que cela fonctionne pour vous.

0
Tell Me How

vous avez peut-être déclaré String a = edt.getText().toString(); ou int 5/3 de telles erreurs se produisent 

alors,
les déclarer dans l'erreur de méthode onCreate sera résolu

0
Javed Tahasildar