java.lang.RuntimeException: невозможно создать экземпляр компонента ComponentInfo - PullRequest
143 голосов
/ 14 января 2011

Я пытался запустить пример кода При запуске приложения в эмуляторе андроид 1.5 я получил эти ошибки .... У кого-нибудь есть подсказка? ..

ОШИБКА от LogCat:

01-13 02:28:08.392: ERROR/AndroidRuntime(2888): FATAL EXCEPTION: main
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.s.android.test/com.s.android.test.MainActivity}: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1544)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.os.Looper.loop(Looper.java:123)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.app.ActivityThread.main(ActivityThread.java:3647)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at java.lang.reflect.Method.invokeNative(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at java.lang.reflect.Method.invoke(Method.java:507)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at dalvik.system.NativeStart.main(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): Caused by: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1536)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888):     ... 11 more
01-13 02:28:08.407: WARN/ActivityManager(112):   Force finishing activity com.s.android.test/.MainActivity

Редактировать Эта ошибка случается с большинством начинающих, дело в том, что вы должны добавить все свои действия в файл манифеста.

Ответы [ 38 ]

1 голос
/ 11 мая 2016

У меня была та же проблема (Невозможно создать экземпляр Activity):

ПЕРВАЯ причина:

Я обращался к

Camera mCamera;
Camera.Parameters params = mCamera.getParameters();

до

mCamera = Camera.open();

Итак, правильный способ - сначала открыть камеру, а затем получить доступ к параметрам.

ВТОРАЯ причина: Объявите свою активность в файле манифеста

<activity android:name=".activities.MainActivity"/>

ТРЕТЬЯ причина: Объявите разрешение камеры в файле манифеста.

<uses-feature android:name="android.hardware.Camera"></uses-feature>
<uses-permission android:name="android.permission.CAMERA" />

Надеюсь, это поможет

1 голос
/ 09 июля 2016

В моем случае я пытался вставить Facebook SDK , и у меня был неправильный идентификатор приложения ;таким образом ошибка выскакивала.В вашем файле манифеста у вас должны быть правильные метаданные:

<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
1 голос
/ 09 марта 2014

Щелкните правой кнопкой мыши по проекту> свойства> android> и попробуйте другую версию android, которую раньше я делал с android 4.4, затем я перешел на android 4.3 и все заработало!

1 голос
/ 15 февраля 2018

Я испробовал все вышеперечисленное решение, но у меня ничего не получалось. после того, как я просто добавил extend активность вместо AppCompatActivity и работает нормально.

используется

public class MainActivity extends Activity  

вместо

public class MainActivity extends AppCompatActivity 

Я не знаю, в чем дело.

1 голос
/ 05 декабря 2013

Эта ошибка также возникает, когда вы используете ActionBarActivity, но назначен стиль не AppCompat.

Чтобы это исправить, просто установите родительский стиль вашего приложения на Theme.AppCompat, например:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <!-- Customize your theme here. -->
</style>
1 голос
/ 23 января 2012

Это случается со мной довольно часто при использовании NDK. Я обнаружил, что мне необходимо делать «Очистку» в Eclipse после каждого моего выполнения ndk-build. Надеюсь, это кому-нибудь поможет :)

0 голосов
/ 04 июня 2014

В моем случае в проекте было две версии ссылок "android-support-v4.jar". После устранения этого (удалена дополнительная / неверная ссылка) решена проблема.

0 голосов
/ 18 июля 2012

Это случилось со мной, когда я попытался запустить Activity на 2.2, который использовал импорт из Honeycomb, недоступный в более старых версиях Android и не включенный в пакет поддержки v4.

0 голосов
/ 17 августа 2016

В моем случае мне пришлось добавить новую библиотеку Android 6.0, выбрав Окно >> Настройки >> Java >> Путь сборки >> Пользовательские библиотеки >> Добавить библиотеку >> Пользовательская библиотека >> Новая

Назовите его Android 6.0, затем нажмите OK. После этого добавьте файл android.jar, который вы можете найти в "sdklocation / platform / android-23 / android.jar"

Убедитесь, что вы делаете все это в проекте Android.

0 голосов
/ 28 августа 2012

Ваша новая активность добавить AndroidManifest.xml как ".NewActivity"

 </activity>        
    <activity android:name=".NewActivity" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...