0

問題は、ServerStatus.ServerStatusActivity. アクティビティ名が正しくないため、アプリケーションはインストールされませんが、変更すると、パッケージが存在しないと表示されます。私は C++ のバックグラウンドがあり、先週 Android/Java を独学で学びました。私の形式が荒いことは承知しており、申し訳ありません。

新しいアクティビティを誤って追加した可能性はありますか?

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

        <uses-permission android:name="android.permission.INTERNET"/>

        <uses-sdk android:maxSdkVersion="15"
              android:targetSdkVersion="10"
              android:minSdkVersion="8" />

    <application
        android:icon="@drawable/d3l"
        android:label="@string/app_name" >
        <activity
            android:name=".D3LinkActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:permission="android.permission.INTERNET" android:name="ServerStatusActivity"></activity>
    </application>

</manifest>
4

2 に答える 2

1

アクティビティの名前は、D3LinkActivity を宣言したのと同じ方法である必要があります。マニフェストのルート内でパッケージ名を指定しました。アクティビティを宣言するときは、完全な名前 (完全なパッケージ名 + '.' + クラス名) またはクラスへの相対パス ('.' + パッケージ名の一部 + クラス名) を指定できます。

例えば:

d3.link.ui.SampleActivity にクラスがあります。マニフェストで「d3.link」を提供した後、「d3.link.ui.SampleActivity」または「.ui.SampleActivity」でアクティビティを宣言できます。

これを提供する方法は、「ServerStatus」と呼ばれるパッケージと「ServerStatusActivity」と呼ばれるクラス、または「ServerStatusActivity」と呼ばれるネストされたクラスを持つルートパッケージに「ServerStatus」があるようなものです。

于 2012-06-16T02:27:45.230 に答える
0

マニフェストタグにhttp://developer.android.com/guide/topics/manifest/manifest-element.html#packageを指定する必要があります 。Androidでは、システムはアプリケーション内の1つのコンポーネントをPackage_Name+コンポーネントの名前で検索します。 com.google + .activity1のように、アクティビティパスはcom.google.activity1です。これがお役に立てば幸いです。

于 2012-06-16T02:46:28.270 に答える