Xamarin项目AndroidManifest文件存在哪些问题导致应用无法运行?
问题根因
- AndroidManifest.xml 中违反配置规范,重复声明了两个
<application>节点,Android 要求单个Manifest文件仅能存在一个<application>根节点,重复声明会直接触发Manifest解析失败错误。 - 两个
<application>节点的android:label配置冲突,第二个节点的label值开头存在多余空格。
修复方案
将两个<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.companyname.fooddev"> <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:label="FoodDev.Android" android:theme="@style/MainTheme"> <provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" /> </provider> </application> </manifest>
可选适配提示
如果你的Xamarin项目已经适配AndroidX(当前Xamarin新建项目默认启用AndroidX),需要将上述provider节点的android:name属性值替换为androidx.core.content.FileProvider,避免后续运行时找不到FileProvider类。
内容的提问来源于stack exchange,提问作者user14663436
相关产品推荐
相关产品推荐

