Приложение для телефона Android вылетает, как только я запускаю его на телефоне

#android #eclipse #crash

#Android #eclipse #сбой

Вопрос:

Я пытаюсь просто создать базовое приложение для Android, и когда я загружаю его на телефон и пытаюсь запустить приложение, оно просто вылетает. Может кто-нибудь взглянуть на это для меня?

Мой манифест

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

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity android:label="@string/app_name"
          android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>
    </application>

</manifest>
  

Что говорит logcat

 07-02 15:19:24.091: D/AndroidRuntime(3213): Shutting down VM
07-02 15:19:24.091: W/dalvikvm(3213): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
07-02 15:19:24.101: E/AndroidRuntime(3213): FATAL EXCEPTION: main
07-02 15:19:24.101: E/AndroidRuntime(3213): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.workexp1/com.example.workexp1.MainActivity}: java.lang.ClassNotFoundException: com.example.workexp1.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.workexp1-1.apk]
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1785)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.app.ActivityThread.access$1500(ActivityThread.java:135)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.os.Looper.loop(Looper.java:150)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.app.ActivityThread.main(ActivityThread.java:4385)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at java.lang.reflect.Method.invokeNative(Native Method)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at java.lang.reflect.Method.invoke(Method.java:507)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at dalvik.system.NativeStart.main(Native Method)
07-02 15:19:24.101: E/AndroidRuntime(3213): Caused by: java.lang.ClassNotFoundException: com.example.workexp1.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.workexp1-1.apk]
07-02 15:19:24.101: E/AndroidRuntime(3213):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.app.Instrumentation.newActivity(Instrumentation.java:1040)
07-02 15:19:24.101: E/AndroidRuntime(3213):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777)
07-02 15:19:24.101: E/AndroidRuntime(3213):     ... 11 more
07-02 15:19:31.869: D/Process(3213): killProcess, pid=3213
  

Запросите любые другие файлы, которые вам нужно проверить.

Комментарии:

1. пожалуйста, укажите, где именно в ваших пакетах проекта MainActivity.java файл найден.

2. Вероятно, у вас нет действия под названием MainActivity, или что-то мешает его компиляции (ошибка компиляции)

3. Опубликуйте файл mainactivity.

4. опубликуйте свой файл активности, я помогу вам

5. Показать код MainActivity.java

Ответ №1:

java.lang.ClassNotFoundException: com.example.workexp1.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.workexp1-1.apk]

Это исключение означает, что в вашем проекте нет такого класса с именем MainActivity . Так что проверьте свой проект и посмотрите, что происходит.

Комментарии:

1. Спасибо, я нашел проблему, и теперь она запускается

Ответ №2:

Если ваш MainActivity не находится в том же пакете, что и указанный в манифесте (в данном случае com.example.workexp1), то точечная запись не будет работать.

измените эту строку

 android:name=".MainActivity">
  

Для

 android:name="com.yourfullpackage.MainActivity">