MapActivity와 MapView를 사용하면서 에러가 나거나 정상적으로 안되는 경우는 세가지가 있습니다. ClassNotFound Exception이 뜰 경우. 인터넷 연결이 안되서 Socket Error가 뜨는 경우. MapKey를 설정을 해주지 않아서 Tile을 받아오지 못하는 경우.

1. ClassNotFoundException이 뜨는 경우

ERROR/AndroidRuntime(402): Uncaught handler: thread main exiting due to uncaught exception
ERROR/AndroidRuntime(402): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.contentbrowser.android/org.contentbrowser.android.activity.ViewContentMap}: java.lang.ClassNotFoundException: org.contentbrowser.android.activity.ViewContentMap in loader
dalvik.system.PathClassLoader@433e72d8
ERROR/AndroidRuntime(402):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2068)
ERROR/AndroidRuntime(402):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2156)
ERROR/AndroidRuntime(402):     at android.app.ActivityThread.access$1800(ActivityThread.java:112)
ERROR/AndroidRuntime(402):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1580)
ERROR/AndroidRuntime(402):     at android.os.Handler.dispatchMessage(Handler.java:88)
ERROR/AndroidRuntime(402):     at android.os.Looper.loop(Looper.java:123)
ERROR/AndroidRuntime(402):     at android.app.ActivityThread.main(ActivityThread.java:3742)
ERROR/AndroidRuntime(402):     at java.lang.reflect.Method.invokeNative(Native Method)
ERROR/AndroidRuntime(402):     at java.lang.reflect.Method.invoke(Method.java:515)
ERROR/AndroidRuntime(402):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
ERROR/AndroidRuntime(402):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:497)
ERROR/AndroidRuntime(402):     at dalvik.system.NativeStart.main(Native Method)
ERROR/AndroidRuntime(402): Caused by: java.lang.ClassNotFoundException: org.contentbrowser.android.activity.ViewContentMap in loader
dalvik.system.PathClassLoader@433e72d8
ERROR/AndroidRuntime(402):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:215)
ERROR/AndroidRuntime(402):     at java.lang.ClassLoader.loadClass(ClassLoader.java:453)
ERROR/AndroidRuntime(402):     at java.lang.ClassLoader.loadClass(ClassLoader.java:421)
ERROR/AndroidRuntime(402):     at android.app.Instrumentation.newActivity(Instrumentation.java:1096)
ERROR/AndroidRuntime(402):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2060)
ERROR/AndroidRuntime(402):     ... 11 more

AndroidManifest.xml의 어플리케이션의 application 태그 밑에 uses-library 포함 

    <application android:icon="@drawable/icon" android:label="@string/app_name" >
     <uses-library android:name="com.google.android.maps"/>

2. 인터넷 설정이 안되어있는 경우

03-01 13:53:00.624: ERROR/OSNetworkSystem(470): unknown socket error -1
03-01 13:53:00.695: WARN/AndroidHttpConnectionFactory(470): IOException in HttpClient: unknown error

인터넷 설정이 안되어있어서 발생하는 경우 user-permission을 추가해줍니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.contentbrowser.android"
      android:versionCode="1"
      android:versionName="1.0.0">
      
  <uses-permission android:name="android.permission.INTERNET"/>    


3. MapKey가 설정이 안되어있는 경우.

맵키 받아와서 설정하는 방법을 참고하세요

4. 실제 단말에서 테스트 하는 경우

/system/framework/com.google.android.maps.jar이 있는지 확인하세요. 오픈소스에서 빌드한 플랫폼에는 맵스가 포함되어있지 않습니다.