简体   繁体   中英

Cannot upload multiple APKs targeting multiple CPU architectures on Google Play Developer Console

I have built a game in Unity Android.

I want to upload multiple APKs targeting different CPU architectures in Google Play Developer Console. Targeting 64 bit CPU architecture is compulsory, we cannot publish apps without targeting 64-bit architecture. I have uploaded APK targeting ARM64 CPU architecture and rolled it out to production successfully.

Now the problem is that I want to add APKs targeting ARMv7 (32-bit) and x86 CPU architectures. For that, I have:

  • Created New Release.
  • Uploaded APK that targets ARMv7 with different Version code.
  • I have retained previous APK that was targeting ARM64 so that current release will offer 64-bit version for 64-bit devices.

Now when I Proceed to Review I am getting errors

Error
This release is not compliant with the Google Play 64-bit requirement The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code: 8.

Fully shadowed APK
Problem :
This APK will not be served to any users because it is completely shadowed by one or more APKs with higher version codes.

Here is the Screesnhot :

在此处输入图像描述

It is saying that I need to include support for 64-bit architecture. But I have already uploaded APK previously for the same. I cannot upload ARMv7 and x86 versions of the app.

Starting August 1, 2019, your apps published on Google Play will need to support 64-bit architectures. 64-bit CPUs deliver faster, richer experiences for your users. Adding a 64-bit version of your app provides performance improvements, makes way for future innovation, and sets you up for devices with 64-bit-only hardware.

Source: Support 64-bit architectures

If you are using a version of Unity that supports 64-bit Android libraries, you can generate a 64-bit version of your app by adjusting your build settings. You will also need to use the IL2CPP backend as your Scripting Backend (details here ). To set up your Unity project to build 64-bit architecture, do the following:

  1. Go to Build Settings and ensure you are building for Android by verifying that the Unity symbol is next to Android under Platform.

  2. If the Unity symbol is not next to the Android platform, select Android and click Switch Platform.

  3. Click Player settings.

  4. Player settings in Unity

  5. Navigate to Player Settings Panel > Settings for Android > Other settings > Configuration

  6. Set Scripting Backend to IL2CPP.

  7. Select the Target Architecture > ARM64 checkbox.

  8. set target architectures in Unity

  9. Build as normal!

You should provide bigger bundle version code for more enchansed apk. In this case arm64 Version Code must be 8, and arm-v7 Version Code is 7.

This is because the "device" is looking for the first matching APK with the highest Version Code. And since arm64 cpu support arm-v7, then in your case they will all receive the arm-v7 version, since its Version is higher, ie it hides the assembly for arm 64.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM