【问题标题】:unfortunately myapp has stopped working不幸的是 myapp 已停止工作
【发布时间】:2016-08-05 06:29:30
【问题描述】:

我正在开发一个应用程序,每次运行它都会收到消息:

unfortunately myapp has stopped working

我在 StackOverflow 或 Google 中都找不到解决方案。 这是我的代码。

MainActivity.java

package com.example.hosni.map_app;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    protected boolean isRouteDisplayed() {
        return false;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Logcat:

E/AndroidRuntime: FATAL EXCEPTION: mainjava.lang.RuntimeException: 
Unable to start activity ComponentInfo{com.example.hosni.map_app/com.example.hosni.map_app.MainActivity}: 
android.view.InflateException: Binary XML file line #15: Error inflating class com.google.android.maps.MapView
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
     at android.app.ActivityThread.access$600(ActivityThread.java:141)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
     at android.os.Handler.dispatchMessage(Handler.java:99)
     at android.os.Looper.loop(Looper.java:137)
     at android.app.ActivityThread.main(ActivityThread.java:5041)
     at java.lang.reflect.Method.invokeNative(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:511)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
     at dalvik.system.NativeStart.main(Native Method)
  Caused by: android.view.InflateException: 
  Binary XML file line #15: Error inflating class com.google.android.maps.MapView
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698)
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136)
     at com.example.hosni.map_app.MainActivity.onCreate(MainActivity.java:21)
     at android.app.Activity.performCreate(Activity.java:5104)
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.app.ActivityThread.main(ActivityThread.java:5041) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:511) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
     at dalvik.system.NativeStart.main(Native Method) 
  Caused by: java.lang.ClassNotFoundException: 
  Didn't find class "com.google.android.maps.MapView" on path: /data/app/com.example.hosni.map_app-1.apk
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
     at android.view.LayoutInflater.createView(LayoutInflater.java:552)
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:736) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276) 
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136) 
     at com.example.hosni.map_app.MainActivity.onCreate(MainActivity.java:21) 
     at android.app.Activity.performCreate(Activity.java:5104) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.app.ActivityThread.main(ActivityThread.java:5041) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:511) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
     at dalvik.system.NativeStart.main(Native Method)                                                                   

xml代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    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"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.example.hosni.map_app.MainActivity"
    tools:showIn="@layout/activity_main">

    <com.google.android.maps.MapView
        android:id="@+id/mapView"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:apiKey="@string/mapKey"
        android:clickable="true"/>

</RelativeLayout>

分级:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.hosni.map_app"
        minSdkVersion 15
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:design:23.3.0'
}

谁能告诉我我做错了什么?

【问题讨论】:

标签: android


【解决方案1】:

你的日志说:

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.maps.MapView" on path: /data/app/com.example.hosni.map_app-1.apk

听起来你需要在谷歌地图上添加编译依赖:

compile 'com.google.android.gms:play-services-maps:8.4.0'

【讨论】:

  • 在添加 compile 'com.google.android.gms:play-services-maps:8.4.0' 后我再次运行它,但我收到相同的消息:不幸的是 myapp 已停止工作 logcat
猜你喜欢
  • 1970-01-01
  • 2016-12-12
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多