I archived and deployed my apk in Visual Studio to the Google play store but it wouldn't let me continue with Beta rollout and the only message on the beta rollout page was the following warning:
After clicking the error the next message came up:
The link provided in the message only pertains to Android Studio, not Visual Studio so I had no clue how to resolve this issue.
Easiest Fix:
Pay attention to the following screen because you may be looking for checkboxes but you won't see them, at least not until you click the last drop-down.
- Make sure you've changed your solution to "Release"
- Right-click on Android project
- Click "Properties"
- Choose "Android Options" on the left
- At the bottom of the page click "Advanced"
- Click the dropdown under "Supported Architectures"
- Check
armeabi-v7a
and arm64-v8a
Alternate (not suggested) Fix:
To fix the error I unloaded my Android project and edited the csproj file.
I changed my release config from this:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>false</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidManagedSymbols>true</AndroidManagedSymbols>
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
</PropertyGroup>
to this:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>false</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidManagedSymbols>true</AndroidManagedSymbols>
<AndroidSupportedAbis Condition=" '$(AndroidSupportedAbis)' == '' ">armeabi-v7a;arm64-v8a</AndroidSupportedAbis>
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
<AndroidCreatePackagePerAbi>false</AndroidCreatePackagePerAbi>
</PropertyGroup>
Finally
then after rebuild and re-upload I no longer get the error but I also realized I still couldn't finish the Beta deployment. Come to find out it was because I had other items on the left side of the page (grey checkmarks) that hadn't been completed.
So in the end, maybe I could have ignored the warning but at least I resolved the issue anyway.
It also causes because of Xamarin.Android 9.1 which is the last version that supports the armeabi architecture.
In my case,armeabi-v7a
& arm64-v8a
were already checked but I still had the same issue.
So I followed the guide here:
https://github.com/xamarin/xamarin-android/blob/master/Documentation/guides/messages/xa0115.md
It worked for me!
* Duplicate of my answer *
I had the same issue, and indeed it was the fault of uploading with wrong 'Supported architectures' selected.
STEP 1
So now I have my architectures selected like this
but before I had 'x86' checked as well. It's not wrong to have it checked, but I learned that in that case you need to have 'x86_64' checked as well. Just like you need 'arm64-v8a', if you have 'armeabi-v7a'
Anyway I fixed that, rebuilt the solution (using Xamarin Forms in Visual Studio 2019 Community), archived it and uploaded to Google Play Console. It did not work!
STEP 2
I figured I need to change 'Version name' (from 1.0.0.0 to 1.0.0.1) for it to work, but to no avail.
I lost half a day, until I found this
versionCode
— A positive integer used as an internal version number. This number is used only to determine whether one version is more recent than another, with higher numbers indicating more recent versions. This is not the version number shown to users; that number is set by the versionName setting, below. The Android system uses the versionCode value to protect against downgrades by preventing users from installing an APK with a lower versionCode than the version currently installed on their device.
on Android developer site.
So I turned 'Version name' back to 1.0.0.0 and upped 'Version number' (VS19C/XamarinForms alias for 'Version code') to 2, rebuilt, archived and uploaded to Google Play Console and I was almost there, but not there yet.
STEP 3
Rollout was succesful only after I clicked 'Remove' next to the APK with 3 supported architectures, leaving me with only the last uploaded APK, which had only 2 supported architectures.
Now we're in 'Full roll-out'