2) each edition has its limitations and does not follow the latest version of Google, there will always be a gap between the two companies
3) Each edition of RAD Studio provides the SDK/NDK edition information tested on various editions of MSWindows, Linux, macOS, Android, and iOS. Any others found on the internet will not be supported by Embarcadero, however, it may or may not work!
If you follow the documentation you will have a great chance of producing the expected result!
However, not everything is flowers in paradise! And, there are some bugs between Debug and Android. I use RAD Studio 11.3, SDK 25, NDK 21 and Debug works on Android 11 (64bit) smartphone
Prefer to use the Emulator that comes with Android SDK 25
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
They are different paths that walk on the same road.
You could use a later version, but the Delphi compiler would not know about the new updates contained in the SDK/NDK so there would be no gain.
Also, there may be compatibility issues, so it's better to follow the official documentation.
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
my posts http://wedelphi.com/f/117/
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
These are questions with complex and relative answers, as everything depends on the possible possibilities in each environment of each system. I don't know all the possibilities of your environment.
To start with, I would use what Embarcadero recommends in the official documentation... so if everything works, then I would test it in other environments (emulators) to compare what is different from what is official. This is how testing should be done, in my opinion.
If you do it this way, you will be able to compare different elements (environments) and solve your doubts more easily.
Naturally, if the APK is not accepted, it is because it does not provide the information (functions, code...) necessary to run it on the other emulated system, or the emulated system does not have any information (libraries) on how to run the APK , for example.
Anyway, it's hard to guess all the possibilities to fix an error, without knowing it.
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
Well, that's a matter for computer engineers... unfortunately I'm not.
But basically it is based on the complexity of the code generated in the software, that is, "x86" uses complete and complex instructions, while "ARM" uses reduced and simplified instructions to perform tasks.
ARM is based on CISC instructions
That is, "ARM", at the beginning, was directed to computer systems that did not need all the instructions, for example from a conventional computer or server, but only reduced instructions (from mobiles for example), and therefore, the code of the instructions generated internally they were reduced and simplified because there was no need to use all the instructions to execute the essential instructions for a given task...
for example: in the conventional computer we can run the browser with multiple tabs open and playing a video in each one of them at the same time time, ... already on a smartphone each tab will work more exclusively as if they were different applications, but connected to the same root...
so, many code instructions are not needed here and the software binary will not contain the same code instructions than conventional computer system.
That's more or less it, in a layman's way of understanding how things work behind the scenes.
Likewise, 64-bit code cannot run on pure 32-bit systems. the instructions did not exist at that time, or there were not enough resources to implement them at the time when CPUs were created However, the opposite may happen if the CPU can decode 32-bit instructions.
when you use an emulator, you are doing this, i.e. the emulator sits between the operating system and the processor, or between the host operating system and your software. then all the instructions that should be sent directly to the CPU, will first go through the processing of the code in the emulator, which will be sent to the operating system or directly to the CPU (if possible and designed), then your software will be executed either on Android, Linux, macOS or MSWindows... as the binary code is not native to the CPU being used
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
The difference between ARM and x86 is mainly due to the complexity of its composition, while x86 is developed from a more complex architecture, ARM is based on RISC (Reduced Instruction Set Computer), which, as the name implies, has aiming to be simpler.
Despite being more simplified, ARM devices have some x86 elements, there is a lot of difference in the way the two processors perform their tasks.
While CISC requires only one command, ARM processors require several for any activity to be performed, however, as the instructions are simpler, the process ends up being faster.
The difference between ARM and X86 also occurs in some of the functions, computers perform tasks that cell phones do not and vice versa, so it does not make much sense to offer a highly complex processor for a cell phone with small functions. That's why there are some processors with unique functions.
The Difference in Practice:
The difference between ARM and X86 explained in a practical way: If you use a browser on a computer, you will be able to work with a much larger number of open tabs without any downtime, you can count on features such as split screen, play videos and audio at higher speeds among other details, on the other hand, for a cell phone the number of functions is reduced, you cannot work with so many tabs and the speed is also lower."
source: https://tndbrasil.com.br
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3