このコードで「シンボル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を継承し、パッケージ名も正しいです。
どうして?
ありがとうございました
これは、ディレクトリ構造のイメージです。
'src'ディレクトリがソースディレクトリとして設定されていない可能性がありますか?
IDEは、com.example.fovoappをパッケージではなく単純なディレクトリ構造として認識しているようです。また、リンクされた画像を見ると、Javaファイルの小さな「J」からもそのことがわかります。 Javaファイルをソースとして設定すると、通常はクラス「C」として表示されます。
私は間違っている可能性がありますが、srcディレクトリをソースとして設定してください。これで問題が解決するはずです。
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 {}
Srcディレクトリに間違ったパスを使用している可能性があります。
パスに含まれている必要があります:./yourApp/src/main
ではなく./yourApp/src/androidTest
手動で移動できます。
プロジェクト構造、srcフォルダーを右クリック->ディレクトリを次のようにマーク->ソースルート。
次に、 'j'シンボルを含むmainactivity.Javaファイルを 'c'シンボルに変更します。
エラーは、プロジェクトがアクティビティクラスを探すための有効なソースフォルダーを持っていなかったことでした。
クリーンキャッシュ
File -> Invalidate Caches / Restart...
build.gradleファイルに以下を追加します。
Android {
sourceSets {
main.Java.srcDirs += 'src/<YOUR DIRECTORY NAME>'
}
...
...
}
互換性のあるAPIレベルを設定します。私は顔のエラーも同じなので、ファイル->プロジェクト構造->アプリ->フレーバー->ターゲットSDKバージョンでAPIレベルを23に設定しました