INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 仅在某些设备上

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED only on some devices

我的 Android 应用程序无法安装在某些“随机”、较旧的 API 设备(任何低于 API 级别 25 的设备)上,并出现错误:

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

所以,基本上看起来……API < 25?格式错误:良好

我见过类似的问题,其中答案与小写包名称有关。我已经有了。

有人有什么想法吗?

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="128" android:versionName="1.2.8.0" package="com.vrgamestudio.thegame" android:targetSandboxVersion="2" android:installLocation="auto">
    <uses-sdk android:targetSdkVersion="29" />
    <application android:isGame="true" android:label="@string/ApplicationName" android:icon="@drawable/GameThumbnail" android:theme="@style/Theme.Splash">
        <activity android:name="TheGame.ActivityMain" android:alwaysRetainTaskState="true" android:launchMode="singleInstance" android:screenOrientation="fullSensor" android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="TheGame.ActivityTV" android:icon="@drawable/gamethumbnail" android:theme="@style/Theme.Leanback" android:banner="@drawable/banner320x180" android:alwaysRetainTaskState="true" android:launchMode="singleInstance" android:screenOrientation="fullSensor" android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-feature android:name="android.hardware.gamepad" android:required="false" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    <uses-feature android:name="android.hardware.faketouch" android:required="false" />
    <uses-feature android:name="android.hardware.telephony" android:required="false" />
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.nfc" android:required="false" />
    <uses-feature android:name="android.hardware.location.gps" android:required="false" />
    <uses-feature android:name="android.hardware.microphone" android:required="false" />
    <uses-feature android:name="android.hardware.sensor" android:required="false" />
    <uses-feature android:name="android.software.leanback" android:required="false" />
    <uses-feature android:name="android.hardware.type.television" android:required="false" />
    <uses-feature android:name="android.software.leanback_only" android:required="false" />
</manifest>

顺便说一句,我正在使用 Visual Studio 2019 和 MonoGame 3.7

已解决并在此处发布答案:

https://community.monogame.net/t/install-parse-failed-manifest-malformed-only-on-some-devices

简而言之答案是:

在较旧的 api 版本(<25,因此您应该始终这样做以支持它们?)似乎 Android 要求:

the fully qualified Namespace of the Activity Name property must be lowercase.