最多应有一个名称空间为''的元素<application>,但找到了4个

时间:2019-09-09 06:05:39

标签: android xamarin.forms xamarin.android android-manifest visual-studio-app-center

我最近尝试将Xamarin Forms项目“ CoManga”放到应用程序中心并进行自动构建。

但是,我不断收到此错误消息,并且构建失败。

  

[BT:0.8.0]错误:最多一个具有名称空间的元素   ''是预期的,但找到了4个。   [/Users/vsts/agent/2.155.1/work/1/s/src/comic_dl/comic_dl.Android/comic_dl.Android.csproj]

我不确定问题出在哪里,因为我可以手动从VS生成APK。那里没有这样的错误。

这是AndroidManifest文件:AndroidManifest.xml

有人可以说明为什么会发生这种情况吗?

4 个答案:

答案 0 :(得分:2)

错误是因为清单文件中有4个application标签。

尝试这样的事情

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.xonshiz.CoManga" android:installLocation="auto">
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />

    <application  android:label="CoManga" android:icon="@drawable/logo">
        <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" />
        <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" />
        <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-8359860011604747~6496691983" />

</application>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INPUT_STATE" />
<uses-permission android:name="android.permission.PERSISTENT_ACTIVITY" />
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

答案 1 :(得分:1)

您收到此错误,因为您已在清单文件中声明了4个应用程序。 请尝试以下代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          android:versionCode="1"
          android:versionName="1.0"
          package="com.xonshiz.CoManga"
          android:installLocation="auto">

    <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>
    <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-8359860011604747~6496691983"/>
    <meta-data
            android:name="com.google.android.gms.ads.AD_MANAGER_APP"
            android:value="true"/>

    <uses-sdk
            android:minSdkVersion="21"
            android:targetSdkVersion="28"/>

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_INPUT_STATE"/>
    <uses-permission android:name="android.permission.PERSISTENT_ACTIVITY"/>
    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
            android:label="CoManga"
            android:icon="@drawable/logo">
        <activity
                android:name="com.google.android.gms.ads.AdActivity"
                android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
                android:theme="@android:style/Theme.Translucent"/>
    </application>

</manifest>

答案 2 :(得分:0)

在清单文件中,您已经定义了四次应用程序标签,但是通常,一个应用程序在清单中只有一个应用程序。尝试用清单替换下面的代码

<?xml version="1.0" encoding="utf-8"?>
<manifest 
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0"
package="com.xonshiz.CoManga"
android:installLocation="auto">
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />

<application  android:label="CoManga" android:icon="@drawable/logo">
    <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" />
    <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" />
    <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-8359860011604747~6496691983" />

</application>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INPUT_STATE" />
<uses-permission android:name="android.permission.PERSISTENT_ACTIVITY" />
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

答案 3 :(得分:0)

如果您使用的是android:requestLegacyExternalStorage

请添加targetApi属性。

<application android:requestLegacyExternalStorage="true"
        tools:targetApi="q" />