2013-03-18 96 views
1

我是新来的android dev :)谷歌地图Android API v2 - 简单的地图应用程序崩溃

我想创建一个简单的应用程序:与地图的活动。 我将HTC 1x连接到电脑,当我尝试运行应用程序(通过intellij IDEA)时,它崩溃。

我已经搜索了网络(和stackoverflow)的线索,找不到任何。例如:
  - Google Maps v2 - Error
  - google map - runtimeexception - error inflating class fragment

能否请你告诉我,为什么?

感谢,

奥马尔



技术细节:

 
HTC 1x runs android 4.1.1 
Project External libraries: 
- Android 4.0 Google API's 
- Android-Support-V4.jar 
- google-play-services.jar 



主要Activity.xml:

 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" > 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/map" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:name="com.google.android.gms.maps.SupportMapFragment"/> 
</LinearLayout> 



主要Activity.Java

 
package com.example.mapTest; 

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 

public class MainActivity extends FragmentActivity { 
    /** 
    * Called when the activity is first created. 
    */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mainActivity); 
    } 
} 



的Manifest.xml

 
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.example.mapTest" 
      android:versionCode="1" 
      android:versionName="1.0"> 

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

    <uses-feature 
      android:glEsVersion="0x00020000" 
      android:required="true"/> 

    <permission 
      android:name="com.example.mapTest.permission.MAPS_RECEIVE" 
      android:protectionLevel="signature"/> 
    <uses-permission android:name="com.example.mapTest.permission.MAPS_RECEIVE"/> 

    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <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"/> 

    <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> 

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

     <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> 



例外:

 
03-19 00:09:30.325: ERROR/NotificationService(434): Ignoring notification with icon==0: Notification(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null]) 
03-19 00:09:41.430: ERROR/MediaScannerService(13421): Exception scanning file 
     android.os.DeadObjectException 
     at android.os.BinderProxy.transact(Native Method) 
     at android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100) 
     at com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:155) 
     at com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713) 
     at java.lang.Thread.run(Thread.java:864) 
03-19 00:09:48.655: ERROR/ExternalAccountType(31657): Unsupported attribute readOnly 
03-19 00:09:48.900: ERROR/ExternalAccountType(31657): Unsupported attribute readOnly 
03-19 00:09:51.965: ERROR/EmbeddedLogger(434): App crashed! Process: com.example.mapTest 
03-19 00:09:51.965: ERROR/EmbeddedLogger(434): App crashed! Package: com.example.mapTest v1 (1.0) 
03-19 00:09:51.965: ERROR/EmbeddedLogger(434): Application Label: mapTest 
03-19 00:09:51.965: ERROR/AndroidRuntime(22403): FATAL EXCEPTION: main 
     java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable 
     at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source) 
     at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source) 
     at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
     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 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:365) 
     at android.app.Activity.setContentView(Activity.java:1912) 
     at com.example.mapTest.MainActivity.onCreate(MainActivity.java:13) 
     at android.app.Activity.performCreate(Activity.java:5066) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
     at android.app.ActivityThread.access$600(ActivityThread.java:151) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:155) 
     at android.app.ActivityThread.main(ActivityThread.java:5485) 
     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:1028) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) 
     at dalvik.system.NativeStart.main(Native Method) 
03-19 00:09:53.785: ERROR/MediaScannerService(13421): Exception scanning file 
     android.os.DeadObjectException 
     at android.os.BinderProxy.transact(Native Method) 
     at android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100) 
     at com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:155) 
     at com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713) 
     at java.lang.Thread.run(Thread.java:864) 
03-19 00:09:54.365: ERROR/NotificationService(434): Ignoring notification with icon==0: Notification(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null]) 
03-19 00:10:03.075: ERROR/ExternalAccountType(31657): Unsupported attribute readOnly 
03-19 00:10:03.380: ERROR/NotificationService(434): Ignoring notification with icon==0: Notification(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null]) 
03-19 00:10:03.960: ERROR/ExternalAccountType(31657): Unsupported attribute readOnly 
03-19 00:10:08.200: ERROR/MediaScannerService(13421): Exception scanning file 
     android.os.DeadObjectException 
     at android.os.BinderProxy.transact(Native Method) 
     at android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100) 
     at com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:155) 
     at com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713) 
     at java.lang.Thread.run(Thread.java:864) 
03-19 00:10:10.270: ERROR/AndroidRuntime(23231): FATAL EXCEPTION: main 
     java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable 
     at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source) 
     at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source) 
     at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
     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 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:365) 
     at android.app.Activity.setContentView(Activity.java:1912) 
     at com.example.mapTest.MainActivity.onCreate(MainActivity.java:13) 
     at android.app.Activity.performCreate(Activity.java:5066) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
     at android.app.ActivityThread.access$600(ActivityThread.java:151) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:155) 
     at android.app.ActivityThread.main(ActivityThread.java:5485) 
     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:1028) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) 
     at dalvik.system.NativeStart.main(Native Method) 
03-19 00:10:10.285: ERROR/EmbeddedLogger(434): App crashed! Process: com.example.mapTest 
03-19 00:10:10.285: ERROR/EmbeddedLogger(434): App crashed! Package: com.example.mapTest v1 (1.0) 
03-19 00:10:10.285: ERROR/EmbeddedLogger(434): Application Label: mapTest 
+1

请尝试http://stackoverflow.com/questions/15301607/trying-to-get-maps-v2-android-demo-working - 特别是,请注意,您不希望只使用google-play-services。 jar',而是整个Android库项目。 – CommonsWare 2013-03-18 22:28:09

+0

谢谢。现在我有一个不同的例外。 – Omeriko 2013-03-18 22:32:05

+0

我不明白我做错了什么!有没有人对我的团队观众会议感兴趣? – Omeriko 2013-03-18 22:37:35

回答