Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo/ ClassNotFoundException

I'm develop android application and than i wanna additional new Activity i had error on my logcat

My 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

My 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>

My Activity:

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

Then i'm assigned intent-filter to BatteryPowerTabActivity application started fine. Please help me. Thanks

like image 910
a.black13 Avatar asked Apr 19 '13 10:04

a.black13


2 Answers

This can happen if your activity class is inside a default package. I fixed it by moving the activity class to a new package. and changing the manifest.xml

before

activity android:name=".MainActivity"

after

activity android:name="new_package.MainActivity"

like image 159
Satthy Avatar answered Sep 20 '22 16:09

Satthy


I had the same problem, but I had my activity declared in the Manifest file, with the correct name.

My problem was that I didn't have to imported a third party libraries in a "libs" folder, and I needed reference them in my proyect (Right-click, properties, Java Build Path, Libraries, Add Jar...).

About how do you declare an activity in the manifest file, is correct use .ActivityName always that activity be in the main package.

like image 43
Maria Mercedes Wyss Alvarez Avatar answered Sep 19 '22 16:09

Maria Mercedes Wyss Alvarez