チュートリアルの後にGoogleマップを使用するプログラムをテストしました。私はチュートリアルのようなものを作っていましたが、アプリがクラッシュして「残念ながらHelloGoogleMapsが停止しました」というメッセージが表示されることがありました。デバッグしようとしましたが、onCreateメソッドに入る前でもクラッシュしているようです。これは私のコードです:AndroidでGoogleマップを使用する
package ru.medinfo.HelloGoogleMaps;
import android.os.Bundle;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
public class HelloGoogleMapsActivity extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
//getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
super.onCreate(savedInstanceState);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
setContentView(R.layout.main);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
ログイン例外の後:
01-27 16:22:34.195: W/dalvikvm(1038): Unable to resolve superclass of Lru/medinfo/HelloGoogleMaps/HelloGoogleMapsActivity; (3)
01-27 16:22:34.195: W/dalvikvm(1038): Link of class 'Lru/medinfo/HelloGoogleMaps/HelloGoogleMapsActivity;' failed
01-27 16:22:34.385: D/AndroidRuntime(1038): Shutting down VM
01-27 16:22:34.385: W/dalvikvm(1038): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
01-27 16:22:34.415: E/AndroidRuntime(1038): FATAL EXCEPTION: main
01-27 16:22:34.415: E/AndroidRuntime(1038): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ru.medinfo.HelloGoogleMaps/ru.medinfo.HelloGoogleMaps.HelloGoogleMapsActivity}: java.lang.ClassNotFoundException: ru.medinfo.HelloGoogleMaps.HelloGoogleMapsActivity
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.os.Handler.dispatchMessage(Handler.java:99)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.os.Looper.loop(Looper.java:137)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.main(ActivityThread.java:4424)
01-27 16:22:34.415: E/AndroidRuntime(1038): at java.lang.reflect.Method.invokeNative(Native Method)
01-27 16:22:34.415: E/AndroidRuntime(1038): at java.lang.reflect.Method.invoke(Method.java:511)
01-27 16:22:34.415: E/AndroidRuntime(1038): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-27 16:22:34.415: E/AndroidRuntime(1038): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-27 16:22:34.415: E/AndroidRuntime(1038): at dalvik.system.NativeStart.main(Native Method)
01-27 16:22:34.415: E/AndroidRuntime(1038): Caused by: java.lang.ClassNotFoundException: ru.medinfo.HelloGoogleMaps.HelloGoogleMapsActivity
01-27 16:22:34.415: E/AndroidRuntime(1038): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
01-27 16:22:34.415: E/AndroidRuntime(1038): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
01-27 16:22:34.415: E/AndroidRuntime(1038): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
01-27 16:22:34.415: E/AndroidRuntime(1038): ... 11 more
01-27 16:22:34.465: W/ActivityManager(87): Force finishing activity ru.medinfo.HelloGoogleMaps/.HelloGoogleMapsActivity
01-27 16:22:34.488: W/WindowManager(87): Failure taking screenshot for (180x300) to layer 21010
01-27 16:22:35.001: W/ActivityManager(87): Activity pause timeout for ActivityRecord{41472d50 ru.medinfo.HelloGoogleMaps/.HelloGoogleMapsActivity}
01-27 16:22:35.295: W/NetworkManagementSocketTagger(87): setKernelCountSet(10044, 0) failed with errno -2
01-27 16:22:45.295: W/ActivityManager(87): Activity destroy timeout for ActivityRecord{41472d50 ru.medinfo.HelloGoogleMaps/.HelloGoogleMapsActivity}
マニフェスト:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ru.medinfo.HelloGoogleMaps"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-library android:name="com.google.android.maps" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity android:name=".HelloGoogleMapsActivity"
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>
投稿後のログのエラースタックトレースはこちら。 – kosa
あなたもマニフェストを貼り付けてください! –
が完了しました。マニフェストも追加されました。他のすべてのチュートリアルは、Googleマップを除いてはうまくいった。それはActivityの代わりにMapActivityを使用しています。これは問題がどこにあるかと思います。これはHelloGoogleMapsActivityのスーパークラスです。そしてLogは、このスーパークラスは解決されていないと言います。私は何らかの理由でMapActivityが見つからないと思っています... – wzbozon