AndroidManifest.xml中的“未解析类”错误

toiithl6  于 2023-01-24  发布在  Android
关注(0)|答案(9)|浏览(257)

我在manifest xml文件中遇到错误:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.shaikhaalothman.playsongservice">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service
            android:name=".PlaySongService"
            android:enabled="true"
            android:exported="true"></service>
    </application>

</manifest>

它在这一行给了我一个错误:

android:name=".PlaySongService"

错误信息为:
未解析的类'pk10'
验证Android XML文件中的资源引用。
我在Stackoverflow和其他地方都没有找到任何可以帮助解决我的错误的东西。有人知道我做错了什么吗?

wlp8pajw

wlp8pajw1#

唯一对我有效的是File > Invalidate Caches / Restart

bxjv4tth

bxjv4tth2#

PlaySongService.javaMainActivity.java放在同一个包中,命名为com.example.shaikhaalothman.playsongservice。它将自动解析。

ukxgm1gy

ukxgm1gy3#

虽然这是一个较老的线程,我想我会包括我的步骤来解决这个问题,如果它帮助任何人:
1.验证模块build.gradle文件中的applicationId "com.domain.packagename"行是否输入了正确的域名。
1.确保这个域名和你java文件夹下的包名匹配,一个简单的方法是进入项目面板右上角的设置栏,如果没有,取消选中“隐藏中间的空包”,然后右键单击重构,用你的域名重命名文件夹。
1.最后,确保在清单文件顶部的package标记中也正确输入了该域名。
我的问题是java下的目录有不正确的包名,所以我必须更改它以匹配gradle和manifest文件。

rseugnpd

rseugnpd4#

您必须在“build.gradle”文件中包含一个路径。我遇到了与链接中图片所示相同的问题:Unresolved class
在编辑器中打开“build.gradle”文件,并向依赖项添加路径行,如下所示:相关性{实施项目(路径:':类路径转到此处')}

a6b3iqyw

a6b3iqyw5#

在我的例子中,上面的解决方案都不起作用,因为我已经检查了包名等是否正确。
因此,我采取了将我的Activity与Android Studio生成的新Activity进行比较的方法。我使用的是Android Studio 3.1.3。我选择了File〉New Activity〉Basic Activity,我首先发现它默认的软件包名称是红色的。
我检查了一下,确定模块级build.gradle文件中的applicationId不等于现有Activity的包名称。我更正了这一点,但错误并未消失。
因此,我完成了生成基本活动的过程,以确保没有出现Unresolved class错误。Android Studio生成的AndroidManifest.xml条目没有出现错误。同时,我的现有Activity继续出现错误。因此,我将现有Activity与生成的Activity进行了比较。我发现我的活动扩展了Activity类,而生成的扩展了AppCompatActivity。所以我尝试将Activity更改为AppCompatActivity。这产生了一堆我不想处理的错误。所以我将它们从AppCompatActivity改回Activity。突然之间,Android Studio不再警告我任何Unresolved class错误。
我不确定到底发生了什么。我想可能是我的.idea目录中有什么东西损坏了,但是清除并重新导入并没有解决这个问题。
总之,似乎可以消除Unresolved class错误的方法是:将Activity的java文件从扩展Activity更改为扩展AppCompatActivity,然后再更改回Activity

mxg2im7a

mxg2im7a6#

在android的android清单文件中:名称="”,我的软件包名称错误,因此从软件包“”中所述清单文件的顶部复制我的软件包名称解决了我的错误

rqcrx0a6

rqcrx0a67#

使用Shift+F6将AndroidManifest.xml中的包从“com.example.loa”重命名为“com.example1.loa”...然后反向将包从“com.example1.loa”重命名为“com.example.loa”...这将解决问题,因为Android Studio将使用新名称重建项目,然后使用旧名称重建项目...

4nkexdtk

4nkexdtk8#

你应该在java活动中检查你的包。清除包名并根据你的项目重写它。示例-包com.app.gmail

iovurdzv

iovurdzv9#

对我来说,它通过更改为我解决了:@mipmap/logo1.jpeg文件到@mipmap/ic_launcher文件。

相关问题