我在此代码中收到错误“无法解析符号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,包名也是正确的。
为什么?
谢谢
这是目录结构的图像。
答案 0 :(得分:19)
你的“src&#39;目录是不是设置为源目录?
您的IDE似乎将com.example.fovoapp视为简单的目录结构而不是包。还看着你的链接图像,小&#34; J&#34;关于java文件告诉我也。当java文件设置为源文件时,它通常显示为Class&#34; C&#34;。
我可能错了,但请确保将src目录设置为源,这应该可以解决问题。
答案 1 :(得分:11)
AndroidManifest.xml文件中的包名称,您的类必须相同。
AndroidManifest.xml标题:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ahmet.currencies">
&#13;
代码:
package com.ahmet.currencies;
import ...;
public class MainActivity extends Activity {}
答案 2 :(得分:2)
也许您对src目录使用了错误的路径
它应该在路径中:./yourApp/src/main
而不是./yourApp/src/androidTest
你可以手动移动它。
答案 3 :(得分:1)
项目结构,右键单击src文件夹 - &gt;标记目录as-&gt;来源。
现在你的mainactivity.java文件用'j'符号改为'c'符号。
错误是该项目没有可以查找活动类的有效源文件夹。
答案 4 :(得分:0)
在 build.gradle 文件中添加以下内容。
android {
sourceSets {
main.java.srcDirs += 'src/<YOUR DIRECTORY NAME>'
}
...
...
}
答案 5 :(得分:0)
设置兼容的api级别。我也遇到了同样的错误,因此我在文件->项目结构->应用程序->风味->目标SDK版本
中将api级别设置为23答案 6 :(得分:0)
清理缓存
文件->使缓存无效/重新启动...