Select to view content in your preferred language

ArcGIS SDK Qt100.10 Android AAB not compliant with the Google Play 64-bit requirement

1007
3
03-23-2021 01:43 AM
PieterBekaert75
New Contributor

I am building an Android app with Qt and the ArcGIS SDK and ran into an issue when trying to upload the Android App Bundle (.aab) to Google Play. I got an error regarding the Google Play 64-bit requirement (see attached screenshot).

I in the end found the issue: arcgis_runtime_qml.pri contains the following line:

ANDROID_ABIS = arm64-v8a armeabi-v7a x86

The x86 is the offender, because x86_64 is missing.

This overrides the Qt Creator project settings.

Reverting above setting after including the pri resolved my problem.

Why is above line present in the pri?

0 Kudos
3 Replies
JaredCaccamo
Esri Contributor

Hello @PieterBekaert75 ,


Why is above line present in the pri?


These are the architectures we ship for Android. For more about this, see our documentation, https://developers.arcgis.com/qt/reference/system-requirements/#deploying-apps-to-android.


The x86 is the offender, because x86_64 is missing.


We actually don't ship with an x86_64 architecture for Android. We ship with x86 to support the emulator. You also already stumbled across the workaround for this, just updating the .pri to exclude x86 from ANDROID_ABIS.

I hope you find this helpful. Let me know if you have any additional questions.

 

Sincerely,

Jared

0 Kudos
PieterBekaert75
New Contributor
In my opinion, this is a wrong design decision: it would be better to leave
the variable untouched, and assert if an unsupported config is present.
0 Kudos
JaredCaccamo
Esri Contributor

Hi @PieterBekaert75 ,

Thanks for the feedback. You can alternatively override ANDROID_ABIS in your project file after the ArcGIS Runtime SDK project includes are brought in.

ARCGIS_RUNTIME_VERSION = 100.10
include($$PWD/arcgisruntime.pri)
# override ArcGIS Runtime values and remove x86
ANDROID_ABIS = arm64-v8a armeabi-v7a

 

We want to keep ANDROID_ABIS including all the architectures supported by the Runtime so it works for the most users by default. If we remove x86 from the list, all users would need to add it back to support x86 Android emulator.

 

Sincerely,

Jared

0 Kudos