2013-04-19 4 views
13

Я разработки приложений Android и чем я хочу новую дополнительную активность я была ошибка в моем LogCatjava.lang.RuntimeException: Невозможно создать экземпляр активности ComponentInfo/ClassNotFoundException

Мой 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 

Мои 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> 

Моя активность:

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

Затем я назначил фильтр намерений для приложения BatteryPowerTabActivity. Пожалуйста, помогите мне. Благодаря

+0

Почему не принят мой ответ – codercat

ответ

19

При обновлении «Заказ и экспорт» новых «Частных библиотек Android» не всегда проверяется. И андроид-support-v4.jar теперь находится в этом разделе «Частные библиотеки Android».

Чтобы исправить это, перейдите к «Заказ и экспорт» и установите флажок «Частные библиотеки Android». Затем обновите/очистите/перестройте.

После того как вы выполнили это «исправление» для проекта библиотеки, вам может потребоваться просто закрыть и повторно открыть любой зависимый проект, потому что они могут не увидеть это «исправление» немедленно.

enter image description here

+1

спасибо +1, это экономит мое время – andrewww

+0

Для меня это было в порядке и экспорте: перемещение my/src и/gen в начало списка #fml – jackocnr

+0

После получения этой проблемы снова, я думаю, что на самом деле это удаляло мой выход/dir (в моем проекте phonegap это было на платформах/android/out/ – jackocnr

7

изменить декларацию активности в файле манифеста в

<activity android:name=".UnlockActivity"> 

или еще

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

и попробовать

+0

Привет, спасибо за ответ. Но приложение было сбойным, чем я начал ( –

+0

, что ваш логарифм сказать на этот раз – vinoth

+0

это первый, что –

0

изменения линии от

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

в

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

Тот же результат, t work ( –

+0

Я решил свою проблему. Это было просто) Я иду Проект> Свойства> Строители и все флажки) Спасибо всем) –

5

Чувак, это также случилось со мной, когда мое приложение уже было опубликовано на рынке. Это была полная катастрофа. Я понял это через 5 часов после публикации.

Не было проблем, запустив его с помощью ADT. Проблема заключалась в сгенерированном APK. Поэтому, если вы публикуете приложение, проверьте установку чистого APK в тестовом телефоне.

Как вы, я также думаю, что проблема была с обновлением моего ADT, в моем случае v22.

Решение было очистить и построить проект:

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

+0

Я рад, что нашел ваше решение - это была моя ситуация в точности. Мне просто пришлось перестроить и воссоздать мой «.apk». – jtooker

3

Я была такая же проблема, но у меня была моя деятельность объявлена ​​в файле манифеста, с правильным именем.

Моя проблема заключалась в том, что мне не пришлось импортировать библиотеки сторонних разработчиков в папку «libs», и мне нужно было ссылаться на них в моем проекте (щелкните правой кнопкой мыши, свойства, путь сборки Java, библиотеки, добавить Jar. ..).

О том, как вы объявляете действие в файле манифеста, является правильным использованием. ActiveName всегда является активным в основном пакете.

4

Это может произойти, если ваш класс активности находится внутри пакета по умолчанию. Я исправил это, переместив класс активности в новый пакет. и изменение manifest.xml

перед тем

активность андроид: имя = "MainActivity."

после

активность андроид: имя = "new_package.MainActivity"

1

Я согласен с что @codercat посоветовал вам сделать, но эта ошибка также возникает, когда вы используете v7, а также v13 в той же структуре проекта для разных функций. Поэтому я советую вам копии банка файла v13 в LIBS папки (НЕ импортировать его в качестве внешней баночки), а затем проверку на андроид библиотеки и андроида зависимостея. Обновите проект, а затем очистите проект. Я уверен, что ошибка, с которой вы столкнулись, исчезнет.

+0

Привет. В этом проекте (который был разработан год назад) я не использовал библиотеки совместимости Спасибо за ваш ответ +1 –

1

я также имеющие те же проблемы, и я просто отключить сборки автоматически и построить свой андроида проект вручную и очистить свой проект, что решить эту ошибку для меня

+0

Привет, спасибо за интересное решение Многие проблемы могут быть решены путем очистки и восстановления проекта –

0

Очистка проект работал для меня. Вы могли бы спросить меня, что привело к этой проблеме? LOL Я попытался обновить проект до android 5 с 4.4, а затем передумал и попытался вернуть его обратно в kitkat, а затем вуаля! эта ошибка возникла.

0

вы можете объявили String a = edt.getText().toString(); или INT 5/3 поэтому такие ошибки используют, чтобы прийти

так,
декларировать их по ошибке метода OnCreate будет решена

0

Я решить эту проблему по имени удалить пакет (com.blogspot.geekonjava) от AndroidManifest.xml как:

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

Это работает для меня, надеюсь, что он работает для вас.

Смежные вопросы