web-dev-qa-db-ja.com

Android Studio:シンボルMainActivityを解決できません

このコードで「シンボルMainActivityを解決できません」というエラーが発生しました。

<activity
        Android:name=".MainActivity"          //here
        Android:label="@string/app_name"
        Android:launchMode="singleTask" >
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN"/> 

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action Android:name="Android.intent.action.VIEW" />

            <category Android:name="Android.intent.category.DEFAULT" />
            <category Android:name="Android.intent.category.BROWSABLE" />

            <data
                Android:Host="MainActivity"
                Android:scheme="callback" />
        </intent-filter>
    </activity>

言うまでもなく、MainActivityはActivityを継承し、パッケージ名も正しいです。

どうして?

ありがとうございました

これは、ディレクトリ構造のイメージです。

Snapshot of the directory structure

11
Yuya Okada

'src'ディレクトリがソースディレクトリとして設定されていない可能性がありますか?

IDEは、com.example.fovoappをパッケージではなく単純なディレクトリ構造として認識しているようです。また、リンクされた画像を見ると、Javaファイルの小さな「J」からもそのことがわかります。 Javaファイルをソースとして設定すると、通常はクラス「C」として表示されます。

私は間違っている可能性がありますが、srcディレクトリをソースとして設定してください。これで問題が解決するはずです。

19
Miguel Lavigne

androidManifest.xmlファイルのパッケージ名とクラスは同じでなければなりません。

AndroidManifest.xmlヘッダー:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android" 
   package="com.ahmet.currencies">

コード:

package com.ahmet.currencies;

import ...;


public class MainActivity extends Activity {}
12
Ahmet Arslan

Srcディレクトリに間違ったパスを使用している可能性があります。
パスに含まれている必要があります:./yourApp/src/mainではなく./yourApp/src/androidTest
手動で移動できます。

2

プロジェクト構造、srcフォルダーを右クリック->ディレクトリを次のようにマーク->ソースルート。

次に、 'j'シンボルを含むmainactivity.Javaファイルを 'c'シンボルに変更します。

エラーは、プロジェクトがアクティビティクラスを探すための有効なソースフォルダーを持っていなかったことでした。

1
sdinesh94

クリーンキャッシュ

File -> Invalidate Caches / Restart...
1
Nitya Kumar

build.gradleファイルに以下を追加します。

Android {
     sourceSets {
            main.Java.srcDirs += 'src/<YOUR DIRECTORY NAME>'
        }
...
...
}
0
Naskov

互換性のあるAPIレベルを設定します。私は顔のエラーも同じなので、ファイル->プロジェクト構造->アプリ->フレーバー->ターゲットSDKバージョンでAPIレベルを23に設定しました

0
mehak