"Release is not compliant with the Play 64-bit requirement" when uploading an Unreal app with Fastlane

Viewed 775

Trying to upload a build from Unreal Engine 4.22 to Google Play with Fastlane results in the much dreaded message "Release is not compliant with the Play 64-bit requirement".

What I first do is creating a project on Unreal Engine (mobile target), no adding any content. I add signing information, build, package, ... and essentially obtain three files:

  • app-Android-Shipping-arm64-es2.apk
  • app-Android-Shipping-armv7-es2.apk
  • main.1.com.redacted.myapp.obb

Uploading these three files manually to Google Play results in the expected conclusion: a new version ready to deploy.

However, calling bundle exec fastlane deploy with following configuration (fastlane 2.133.0):

lane :deploy do
  upload_to_play_store(
    package_name: 'com.redacted.myapp',
    track: 'internal',
    json_key: "my_redacted_google_key_file.json",
    apk_paths: ["dist/app-Android-Shipping-armv7-es2.apk", "dist/app-Android-Shipping-arm64-es2.apk"]
  )
end

invariably ends up with the error: [!] Google Api Error: releaseValidationErrorKeyNotCompliantWith64BitRequirementError: Release is not compliant with the Play 64-bit requirement. - Release is not compliant with the Play 64-bit requirement.

What am I doing wrong?

1 Answers

Following the instructions here https://developer.android.com/distribute/best-practices/develop/64-bit I changed my app build.gradle from:

android {
  ...

  defaultConfig {
    ...
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode VERSION_BUILD
    versionName VERSION_MAJOR + "." + VERSION_MINOR + "." + VERSION_PATCH
    ndk {
        abiFilters 'armeabi-v7a','x86'
    }
  }
}

to:

android {
  ...

  defaultConfig {
    ...
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode VERSION_BUILD
    versionName VERSION_MAJOR + "." + VERSION_MINOR + "." + VERSION_PATCH
    ndk {
        abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
    }
  }
}

then running fastlane android beta worked. I haven't tried a full deploy but can only assume it will be fine at this stage as I don't get that error and the play console shows:

Google Play

Related