无法实例化活动ComponentInfo java.lang.ClassNotFoundException: util.kalyan.HelloGoogleMapsActivity。

3

我已经正确包含了所有必要的字段。 但是,我仍然无法在模拟器上启动Google地图。 也检查了Internet权限。 出现错误信息:

E/AndroidRuntime(2064): java.lang.RuntimeException: Unable to instantiate activity 
ComponentInfo{util.kalyan/util.kalyan.HelloGoogleMapsActivity}: 
java.lang.ClassNotFoundException: util.kalyan.HelloGoogleMapsActivity

请看下面的代码。 HelloGoogleMapsActivity.java
package util.kalyan;
import android.os.Bundle;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import util.kalyan.R;
public class HelloGoogleMapsActivity extends MapActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.setBuiltInZoomControls(true);
    }    
    @Override
    protected boolean isRouteDisplayed()
    {
        return false;
    }
}

AndroidManifest.xml:

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

<uses-sdk android:minSdkVersion="14" />
    <uses-library android:name="com.google.android.maps"></uses-library>
    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
        <activity android:name=".HelloGoogleMapsActivity"    android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar">
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-  permission>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

请有人尽快帮助我解决这个问题。 提前致谢。

3个回答

1

在activity定义中更改android:name

<activity android:name=".HelloGoogleMapsActivity" ../>

<activity android:name="util.kalyan.HelloGoogleMapsActivity" ../>

我已经尝试过了。我收到了错误信息:“找不到HelloGoogleMaps.apk!” - Kalyan Nemani
3
我终于解决了问题。错误在于我将“<uses-library android:name="com.google.android.maps"></uses-library>”标签放在了AndroidManifest.xml文件的应用程序标签外面。当我将其放在应用程序标签内部时,问题得到解决。谢谢。 - Kalyan Nemani

0

在你的HelloGoogleMapsActivity类上右键 > BuildPath > Exclude,然后再次右键点击你的HelloGoogleMapsActivity类 > BuildPath > 再次包含你的类


0
你的模拟器目标应该是包含Google APIs (Google Inc.)的一个。

我已创建了一个新的AVD,目标仅为Google API。但仍然面临同样的问题。 - Kalyan Nemani
W/dalvikvm(793): 无法解析Lutil/kalyan/HelloGoogleMapsActivity的超类; (3) W/dalvikvm(793): 类' Lutil/kalyan/HelloGoogleMapsActivity;'的链接失败 D/AndroidRuntime(793): 关闭VM W/dalvikvm(793): threadid=1: thread exiting with uncaught exception (group=0x409951f8) E/AndroidRuntime(793): 致命异常: 主要java.lang.RuntimeException: 无法实例化组件信息活动{util.kalyan/util.kalyan.HelloGoogleMapsActivity}: java.lang.ClassNotFoundException: util.kalyan.HelloGoogleMapsActivity - Kalyan Nemani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接