【问题标题】:My application has stopped unexpectedly on emulator我的应用程序在模拟器上意外停止
【发布时间】:2017-03-10 12:29:01
【问题描述】:

我是 android 开发新手,我只是按照教程进行操作,因此在模拟器上将项目作为 android 应用程序运行时,它显示“您的应用程序已不幸停止”。我在stackoverflow中看到了很多答案,但没有得到解决方案。我也去了logcat。 我做了什么 只是简单地在模拟器中运行我的 hello world,但它被停止了。

1) 这是我的 xml 活动:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.examp.calc.MainActivity" >
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"
    android:textSize="40sp" />
 </RelativeLayout> 

2) Java 源代码:活动文件

package com.examp.calc;
 import android.support.v7.app.ActionBarActivity;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuItem;
 public class MainActivity extends ActionBarActivity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}}

3)Mainfest 文件

`<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.examp.calc"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="19" />

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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>
`

4)logcat报错:

03-10 06:56:55.347: D/AndroidRuntime(1761): 关闭 VM 03-10 06:56:55.347: W/dalvikvm(1761): threadid=1: 线程以 ncaught 异常退出 (group=0xb0d77b20) 03-10 06:56:55.347: E/AndroidRuntime(1761): 致命异常: main 03-10 06:56:55.347:E/AndroidRuntime(1761):进程:com.examp.calc,PID:1761 03-10 06:56:55.347: E/AndroidRuntime(1761): java.lang.RuntimeException: 无法实例化活动 ComponentInfo{com.examp.calc/com.exam.calc.MainActivity}: java.lang.ClassNotFoundException: 没有'在路径上找不到类“com.exam.calc.MainActivity”:DexPathList[[zip 文件“/data/app/com.examp.calc-1.apk”],nativeLibraryDirectories=[/data/app-lib/com .examp.calc-1, /system/lib]] 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.app.ActivityThread.access$800(ActivityThread.java:135) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.os.Handler.dispatchMessage(Handler.java:102) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.os.Looper.loop(Looper.java:136) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.app.ActivityThread.main(ActivityThread.java:5017) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 java.lang.reflect.Method.invokeNative(Native Method) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 java.lang.reflect.Method.invoke(Method.java:515) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 03-10 06:56:55.347: E/AndroidRuntime(1761): at dalvik.system.NativeStart.main(Native Method) 03-10 06:56:55.347:E/AndroidRuntime(1761):原因:java.lang.ClassNotFoundException:在路径上找不到类“com.exam.calc.MainActivity”:DexPathList [[zip 文件“/data /app/com.examp.calc-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.examp.calc-1, /system/lib]] 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:497) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:457) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.app.Instrumentation.newActivity(Instrumentation.java:1061) 03-10 06:56:55.347: E/AndroidRuntime(1761): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112) 03-10 06:56:55.347: E/AndroidRuntime(1761): ... 11 更多

5) 调试后: source not found in debug 谢谢你提前

【问题讨论】:

  • 谢谢,但我仍然遇到同样的错误,你的计算意外停止了
  • 尝试通过 extends Activity 更改您的 extends ActionBarActivity
  • thanku 现在可以正常工作了,但我保留了 setContentview 和 tools:context

标签: android eclipse android-emulator android-manifest


【解决方案1】:

你不能定义;

tools:context="com.examp.calc.MainActivity"

setContentView(R.layout.activity_main);

同时。只需删除其中一个,它就会正常工作。

【讨论】:

    【解决方案2】:

    在 Mainfest 文件中:更改此行

    android:name="com.examp.calc.MainActivity"

    【讨论】:

      【解决方案3】:

      尝试将您的extends ActionBarActivity 更改为extends Activity


      编译器搜索包com.exam.calc,但你的包名是com.examp.calc

      在您的Manifest 中,替换:

      android:name="com.exam.calc.MainActivity"
      

      作者:

      android:name="com.examp.calc.MainActivity"
      

      如果它不起作用,你可以试试这个......

      尝试在您的 xml 布局中删除此行:

      tools:context="com.examp.calc.MainActivity"
      

      你应该有:

          <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:paddingBottom="@dimen/activity_vertical_margin"
          android:paddingLeft="@dimen/activity_horizontal_margin"
          android:paddingRight="@dimen/activity_horizontal_margin"
          android:paddingTop="@dimen/activity_vertical_margin" >
              <TextView
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:text="@string/hello_world"
                  android:textSize="40sp" />
         </RelativeLayout> 
      

      或者,如果您愿意,可以删除 ActivitysetContentView 行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多