Android的扩展:: = MapActivity GT&; ClassNotFound的异常 [英] Android::Extending MapActivity => classNotFound Exception

查看:157
本文介绍了Android的扩展:: = MapActivity GT&; ClassNotFound的异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使一个图形页面,但在扩展MapActivity抛出一个ClassNotFoundException:

  / AndroidRuntime(374):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
    E / AndroidRuntime(374):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    E / AndroidRuntime(374):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
    E / AndroidRuntime(374):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
    E / AndroidRuntime(374):在android.os.Handler.dispatchMessage(Handler.java:99)
    E / AndroidRuntime(374):在android.os.Looper.loop(Looper.java:123)
    E / AndroidRuntime(374):在android.app.ActivityThread.main(ActivityThread.java:4627)
    E / AndroidRuntime(374):在java.lang.reflect.Method.invokeNative(本机方法)
    E / AndroidRuntime(374):在java.lang.reflect.Method.invoke(Method.java:521)
    E / AndroidRuntime(374):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
    E / AndroidRuntime(374):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    E / AndroidRuntime(374):在dalvik.system.NativeStart.main(本机方法)
    E / AndroidRuntime(374):抛出java.lang.ClassNotFoundException:致com.androidcourse.phonemapper.view.MapShowActivity装载机dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/com.androidcourse.phonemapper-2.apk]
    E / AndroidRuntime(374):在dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
    E / AndroidRuntime(374):在java.lang.ClassLoader.loadClass(ClassLoader.java:573)
    E / AndroidRuntime(374):在java.lang.ClassLoader.loadClass(ClassLoader.java:532)
    E / AndroidRuntime(374):在android.app.Instrumentation.newActivity(Instrumentation.java:1021)
    E / AndroidRuntime(374):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)

我有一个谷歌地图API密钥,我已成立了项目成为谷歌的API,我使用的是谷歌Android API AVD(模拟器),我也有我的Andr​​oidManifest.xml中的标记。

 <?XML版本=1.0编码=UTF-8&GT?;
<清单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    包=com.androidcourse.phonemapper安卓版code =1
    机器人:=的versionName1.0>    <采用-SDK安卓的minSdkVersion =8/>
    <使用许可权的android:NAME =android.permission.INTERNET对/>
    <使用许可权的android:NAME =android.permission.ACCESS_COARSE_LOCATION>< /使用许可权>
    <使用许可权的android:NAME =android.permission.ACCESS_FINE_LOCATION>< /使用许可权>
    <应用机器人:图标=@绘制/图标机器人:标签=@字符串/ APP_NAME>  <使用库机器人:名字=com.google.android.maps/>

.........

 <活动机器人:view.WelcomeActivityNAME =机器人:标签=@字符串/ APP_NAME>
            &所述;意图滤光器>
                <作用机器人:名字=android.intent.action.MAIN/>
                <类机器人:名字=android.intent.category.LAUNCHER/>
            &所述; /意图滤光器>
        < /活性GT;
<的RelativeLayout的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:ID =@ + ID / mainlayout
    机器人:方向=垂直
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT>    < com.google.android.maps.MapView
        机器人:ID =@ + ID /图形页面
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =FILL_PARENT
        机器人:可点击=真
        机器人:apiKey =api_key_is_here_just_wont_show_it_to_everybody
    />
< / RelativeLayout的>


解决方案

尝试设置包com.androidcourse.phonemapper.view

 <清单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
包=com.androidcourse.phonemapper.view安卓版code =1
机器人:=的versionName1.0>

然后引用它:

 <活动机器人:名字=。WelcomeActivity

I'd like to make a MapView, but extending the MapActivity throws a classNotFoundException:

   /AndroidRuntime(  374):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
    E/AndroidRuntime(  374):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    E/AndroidRuntime(  374):        at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    E/AndroidRuntime(  374):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    E/AndroidRuntime(  374):        at android.os.Handler.dispatchMessage(Handler.java:99)
    E/AndroidRuntime(  374):        at android.os.Looper.loop(Looper.java:123)
    E/AndroidRuntime(  374):        at android.app.ActivityThread.main(ActivityThread.java:4627)
    E/AndroidRuntime(  374):        at java.lang.reflect.Method.invokeNative(Native Method)
    E/AndroidRuntime(  374):        at java.lang.reflect.Method.invoke(Method.java:521)
    E/AndroidRuntime(  374):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    E/AndroidRuntime(  374):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    E/AndroidRuntime(  374):        at dalvik.system.NativeStart.main(Native Method)
    E/AndroidRuntime(  374): Caused by: java.lang.ClassNotFoundException: com.androidcourse.phonemapper.view.MapShowActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/com.androidcourse.phonemapper-2.apk]
    E/AndroidRuntime(  374):        at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
    E/AndroidRuntime(  374):        at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
    E/AndroidRuntime(  374):        at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
    E/AndroidRuntime(  374):        at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
    E/AndroidRuntime(  374):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)

I have a Google Maps API key, I had set the project to be for Google APIs, I am using an Android Google API AVD(emulator) and I did include the tag in my AndroidManifest.xml.

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

    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <application android:icon="@drawable/icon" android:label="@string/app_name">

  <uses-library android:name="com.google.android.maps" />

.................

        <activity android:name=".view.WelcomeActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainlayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <com.google.android.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true"
        android:apiKey="api_key_is_here_just_wont_show_it_to_everybody"
    />
</RelativeLayout>

解决方案

Try setting package to "com.androidcourse.phonemapper.view":

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidcourse.phonemapper.view" android:versionCode="1"
android:versionName="1.0">

and then referencing it:

<activity android:name=".WelcomeActivity"

这篇关于Android的扩展:: = MapActivity GT&; ClassNotFound的异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆