1

誰かが私の問題を解決する方法を教えてもらえますか? 私は最初の Android アプリを構築しています。以下は、エミュレーターでアプリケーションを起動したときに表示されるエラー コードです。

ありがとうございました

04-12 21:07:03.480: D/AndroidRuntime(327): Shutting down VM
04-12 21:07:03.480: W/dalvikvm(327): threadid=1: thread exiting with uncaught exception(group=0x40015560)
04-12 21:07:03.580: E/AndroidRuntime(327): FATAL EXCEPTION: main
04-12 21:07:03.580: E/AndroidRuntime(327): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{obd.gss.namespace/obd.gss.namespace.activity.Gssobdreadermainactivity}: java.lang.ClassNotFoundException: obd.gss.namespace.activity.Gssobdreadermainactivity in loader dalvik.system.PathClassLoader[/data/app/obd.gss.namespace-1.apk]
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.os.Looper.loop(Looper.java:123)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.main(ActivityThread.java:3683)
04-12 21:07:03.580: E/AndroidRuntime(327):  at java.lang.reflect.Method.invokeNative(Native Method)
04-12 21:07:03.580: E/AndroidRuntime(327):  at java.lang.reflect.Method.invoke(Method.java:507)
04-12 21:07:03.580: E/AndroidRuntime(327):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-12 21:07:03.580: E/AndroidRuntime(327):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-12 21:07:03.580: E/AndroidRuntime(327):  at dalvik.system.NativeStart.main(Native Method)
04-12 21:07:03.580: E/AndroidRuntime(327): Caused by: java.lang.ClassNotFoundException: obd.gss.namespace.activity.Gssobdreadermainactivity in loader dalvik.system.PathClassLoader[/data/app/obd.gss.namespace-1.apk]
04-12 21:07:03.580: E/AndroidRuntime(327):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
04-12 21:07:03.580: E/AndroidRuntime(327):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
04-12 21:07:03.580: E/AndroidRuntime(327):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
04-12 21:07:03.580: E/AndroidRuntime(327):  ... 11 more

これが私のマニフェストの内容です:

<uses-sdk android:minSdkVersion="10" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<application
  android:icon="@drawable/icon"
  android:label="@string/app_name">

    <activity android:name=".Activity.Gssobdreadermainactivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait"
              android:launchMode="singleInstance">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Activity.Gssobdreaderconfigactivity"
              android:label="@string/app_name">
    </activity>
    <activity android:name=".activity.Gssobdreadercommandactivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait">
    </activity>
    <service android:name="io.GssobdReaderService"/>
</application>
4

3 に答える 3

1

問題の原因は次のとおりです。

java.lang.ClassNotFoundException: obd.gss.namespace.activity.Gssobdreadermainactivity

アクティビティをマニフェストに追加するのを忘れていませんか?

マニフェストは次のようになります。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="obd.gss.namespace"
    android:versionCode="1"
    android:versionName="1.0" >
 <!-- permissions and other stuff here -->
<application
  android:icon="@drawable/icon"
  android:label="@string/app_name">

    <activity android:name=".activity.Gssobdreadermainactivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait"
              android:launchMode="singleInstance">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
<!--more activities and services here -->
</application>
</manifest>

manifest タグの package 属性と activity タグの name 属性の組み合わせは、クラスの完全修飾名とまったく同じでなければならないことに注意してください。上記の例を使用すると、次のようになります。

obd.gss.namespace.activity.Gssobdreadermainactivity
于 2012-04-12T21:38:51.717 に答える
0

ソースツリーはどのように見えますか? おそらく .activity を削除する必要があります。および.活動。アプリケーションの完全修飾クラス名のプレフィックス。もちろん、ソース ツリーに「アクティビティ」と「アクティビティ」フォルダがある場合を除きます (=

于 2012-04-13T15:24:50.310 に答える