Xamarin - This release is not compliant with the Google Play 64-bit requirement
Asked Answered
H

3

23

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:

enter image description here

After clicking the error the next message came up:

enter image description here

The link provided in the message only pertains to Android Studio, not Visual Studio so I had no clue how to resolve this issue.

Herta answered 7/5, 2019 at 16:34 Comment(0)
H
24

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.

  1. Make sure you've changed your solution to "Release"
  2. Right-click on Android project
  3. Click "Properties"
  4. Choose "Android Options" on the left
  5. At the bottom of the page click "Advanced"
  6. Click the dropdown under "Supported Architectures"
  7. 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.

Herta answered 7/5, 2019 at 16:34 Comment(2)
arm64-v8a will be added in Xamarin in VS2019 16.1Hack
VS2017 15.9.12 also includes arm64-v8a (I tested).Avron
G
2

* 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 Supported architectures - Visual Studio 2019 Community / Xamarin Forms

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'

Gymnasium answered 21/10, 2019 at 8:55 Comment(0)
D
1

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!

Dactylology answered 22/10, 2019 at 9:19 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.