应用程序崩溃.不幸的是,该应用程序已停止工作



应用程序加载失败:说不幸的是应用程序已停止

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="in.wptrafficanalyzer.proximitymapv2"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="20" />
<permission
      android:name="in.wptrafficanalyzer.proximitymapv2.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>
<uses-permission android:name="in.wptrafficanalyzer.proximitymapv2.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>   
<application
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="in.wptrafficanalyzer.proximitymapv2.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>
    <activity
        android:name=".ProximityActivity"
        android:label="@string/app_name" >
        <intent-filter >
            <action android:name="android.intent.action.PROXIMITY" />
     <!--       <action android:name="in.wptrafficanalyzer.activity.proximity"/> -->
            <category android:name="android.intent.category.DEFAULT" />            
        </intent-filter>
    </activity>
    <activity
        android:name=".NotificationView"
        android:label="@string/app_name" >
        <intent-filter >
            <category android:name="android.intent.category.DEFAULT" />            
            </intent-filter>
    </activity>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyCl6YaG8xxTQJe7R4LyGhf5kHqXG-mVrus"/>        
</application>

整个 LogCat 如下:

11-21 02:46:35.569: E/AndroidRuntime(27745): FATAL EXCEPTION: main
11-21 02:46:35.569: E/AndroidRuntime(27745): Process: in.wptrafficanalyzer.proximitymapv2, PID: 27745
11-21 02:46:35.569: E/AndroidRuntime(27745): java.lang.RuntimeException: Unable to instantiate application com.google.android.gms.version: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.version" on path: DexPathList[[zip file "/data/app/in.wptrafficanalyzer.proximitymapv2-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
11-21 02:46:35.569: E/AndroidRuntime(27745): at   android.app.LoadedApk.makeApplication(LoadedApk.java:563)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4491)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at android.app.ActivityThread.access$1500(ActivityThread.java:144)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at android.os.Handler.dispatchMessage(Handler.java:102)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at android.os.Looper.loop(Looper.java:135)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at android.app.ActivityThread.main(ActivityThread.java:5221)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at java.lang.reflect.Method.invoke(Native Method)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at java.lang.reflect.Method.invoke(Method.java:372)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
11-21 02:46:35.569: E/AndroidRuntime(27745): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.version" on path: DexPathList[[zip file "/data/app/in.wptrafficanalyzer.proximitymapv2-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
11-21 02:46:35.569: E/AndroidRuntime(27745):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at android.app.Instrumentation.newApplication(Instrumentation.java:979)
11-21 02:46:35.569: E/AndroidRuntime(27745):    at android.app.LoadedApk.makeApplication(LoadedApk.java:558)
11-21 02:46:35.569: E/AndroidRuntime(27745):    ... 10 more
11-21 02:46:35.569: E/AndroidRuntime(27745):    Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.version
11-21 02:46:35.569: E/AndroidRuntime(27745):        at java.lang.Class.classForName(Native Method)
11-21 02:46:35.569: E/AndroidRuntime(27745):        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
11-21 02:46:35.569: E/AndroidRuntime(27745):        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
11-21 02:46:35.569: E/AndroidRuntime(27745):        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
11-21 02:46:35.569: E/AndroidRuntime(27745):        ... 13 more
11-21 02:46:35.569: E/AndroidRuntime(27745):    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

GMS 版本应该是 application 标签中的meta-data元素,而不是 application 标签。

applicationandroid:name是指您的Application类名,并且在代码中找不到。

改变

<application
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version"
    ...>
    ...
</application>

到类似的东西

<application
    ...>
    ...
    <meta-data
        android:name="com.google.android.gms.version" 
        android:value="@integer/google_play_services_version"/>
</application>

检查清单中的应用程序name

android:name="com.google.android.gms.version" 

只需从清单文件内的标记中删除这两行application

android:name="com.google.android.gms.version" 
android:value="@integer/google_play_services_version"

并将它们放入meta-data标签中

<meta-data
        android:name="com.google.android.gms.version" 
        android:value="@integer/google_play_services_version"/>

最新更新