我最近尝试将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
有人可以说明为什么会发生这种情况吗?
答案 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" />