无法从 AndroidManifest 读取 packageName.xml

2022-09-02 09:39:47

我的 Android 清单文件中有错误:

Error:Cannot read packageName from C:\Users\brandon\AndroidStudioProjects\MineDodge2\app\src\main\AndroidManifest.x‌​ml
Error:The markup in the document preceding the root element must be well-formed.

我试图查看这个网站,但答案对我不起作用。

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/redjet"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.brandon.MineDodge.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity
            android:name="com.example.brandon.MineDodge.Splash" />
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
    </application>
</manifest>

答案 1

如果您使用的是旧版本的 build.grade 文件,则应删除以下代码:

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        res.srcDirs = ['res']
    }
}

然后,生成>干净项目

注意:如果您看到此代码,则表示您使用的是旧版本


答案 2

我在Unity 2018上遇到了这个错误,我认为这是一个错误。

修复我:将包名添加到Unity项目中的Android清单。

在我的项目路径中,要清单:Assets/Plugins/Android/AndroidManifest.xml

例如,当我的清单文件看起来像这样时,我得到了错误:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
</manifest>

它由Unity的Oculus Gear VR插件生成。但它错过了包名称,必须看起来像这样:

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

将“您的包名”替换为项目的“包名”。它应该在编辑 -> 项目设置 -> 播放器 -> 其他设置 -> 标识 -> 包名称 中,并且应该看起来像 com。您的组织。应用名称

有些人写道,这个清单一定是这样的:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest package="${applicationId}" xmlns:android="http://schemas.android.com/apk/res/android">
...
</manifest>

他们写道,在构建Android应用程序时,Unity将替换软件包名称,但是在我的Unity 2018.1.6f1中,它不起作用,我认为这也是一个错误。${applicationId}


推荐