2013-03-19 107 views
0

我是Android新手,正在構建基於地圖的應用。當我嘗試啓動我的應用程序時,出現錯誤:「應用程序AdBaiduMapDemo02意外停止,請重試。」 這裏是什麼logcat的說:應用程序XXX已意外停止。請再試一次

>03-19 09:40:46.983: D/AndroidRuntime(389): Shutting down VM 
>03-19 09:40:46.983: W/dalvikvm(389): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
>03-19 09:40:47.023: E/AndroidRuntime(389): FATAL EXCEPTION: main 
>03-19 09:40:47.023: E/AndroidRuntime(389): java.lang.RuntimeException: Unable to instantiate application com.example.adbaidumapdemo02.AdBaiduMapDemo02: java.lang.ClassNotFoundException: com.example.adbaidumapdemo02.AdBaiduMapDemo02 in loader dalvik.system.PathClassLoader[/data/app/com.example.adbaidumapdemo02-1.apk] 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.app.LoadedApk.makeApplication(LoadedApk.java:466) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3260) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.app.ActivityThread.access$2200(ActivityThread.java:117) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.os.Handler.dispatchMessage(Handler.java:99) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.os.Looper.loop(Looper.java:130) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at java.lang.reflect.Method.invokeNative(Native Method) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at java.lang.reflect.Method.invoke(Method.java:507) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at dalvik.system.NativeStart.main(Native Method) 
>03-19 09:40:47.023: E/AndroidRuntime(389): Caused by: java.lang.ClassNotFoundException: com.example.adbaidumapdemo02.AdBaiduMapDemo02 in loader dalvik.system.PathClassLoader[/data/app/com.example.adbaidumapdemo02-1.apk] 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.app.Instrumentation.newApplication(Instrumentation.java:942) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  at android.app.LoadedApk.makeApplication(LoadedApk.java:461) 
>03-19 09:40:47.023: E/AndroidRuntime(389):  ... 11 more 

我的MainActivity的代碼如下:

package com.example.adbaidumapdemo02; 
import com.baidu.mapapi.BMapManager; 
import com.baidu.mapapi.GeoPoint; 
import com.baidu.mapapi.MapActivity; 
import com.baidu.mapapi.MapController; 
import com.baidu.mapapi.MapView; 
import android.os.Bundle; 
public class MainActivity extends MapActivity { 
    BMapManager mBMapMan = null; 
    MapView mMapView = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mBMapMan = new BMapManager(getApplication()); 
     mBMapMan.init("027FB8C5D701284490FF6C80E66AD7EAB37154C4", null); 
     super.initMapActivity(mBMapMan); 
     mMapView = (MapView)findViewById(R.id.bmapsView); 
     mMapView.setBuiltInZoomControls(true); 
     MapController mMapController = mMapView.getController(); 
     GeoPoint point = new GeoPoint((int)(39.915 * 1E6), (int)(116.404 * 1E6)); 
     mMapController.setCenter(point); 
     mMapController.setZoom(12); 
    } 
    @Override 
    protected void onDestroy() { 
     if(mBMapMan != null) 
     { 
      mBMapMan.destroy(); 
      mBMapMan = null; 
     } 
     super.onDestroy(); 
    }  
    @Override 
    protected void onPause() { 
     if (mBMapMan != null) 
     { 
      mBMapMan.stop(); 
     } 
     super.onPause(); 
    }  
    @Override 
    protected void onResume() { 
     if (mBMapMan != null) 
     { 
      mBMapMan.start(); 
     } 
     super.onResume(); 
    } 
    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 
} 

是否有任何想法,以解決這一問題?提前致謝!

+1

發表您的清單搜索。 – 323go 2013-03-19 02:59:48

回答

0

您的項目中某處引用了類加載器無法找到的類AdBaiduMapDemo02

我建議做在你的項目爲「AdBaiduMapDemo02」

+0

我在我的_Manifest.xml文檔中找到類_AdBaiduMapDemp02_的引用:'。在我的_strings.xml_文檔中,app_name是「AdBaiduMapDemo02」。那麼接下來我該怎麼做?謝謝。 – ray6080 2013-03-19 03:46:43

+0

只要在strings.xml中你應該沒問題: ' AdBaiduMapDemo02' 在清單中可能會有另一個對「AdBaiduMapDemo02」的引用。 – liarspocker 2013-03-19 12:17:36

+0

我真的找不到對「AdBaiduMapDemo02」的另一個引用......它仍然無法工作。 – ray6080 2013-03-19 15:24:02

1

com.example.adbaidumapdemo02.AdBaiduMapDemo02:拋出java.lang.ClassNotFoundException:

哪裏是你的AdBaiduMapDemo02.class?

+0

對不起,我不太明白。我只有一個名爲MainActivity的活動,因此在我的bin文件中有MainActivity.class。 – ray6080 2013-03-19 02:55:35

+0

我的Manifest.xml文件有什麼問題嗎? '<應用 機器人:圖標= 「@繪製/ ic_launcher」 機器人:標籤= 「@串/ APP_NAME」 機器人:主題= 「@風格/ AppTheme」 > <活動 機器人:名稱=」 MainActivity 「 」 ' – ray6080 2013-03-19 02:59:11

+0

您的manifest.xml文件是正確的。您是否在模擬器上測試您的項目或設備? – tungdx 2013-03-19 06:55:49

相關問題