The Android app (developed by Firemonkey Delphi) in the Play Store is not compatible with your device

I developed a project with Object Pascal using the Firemonkey Framework. I published my application on the Play Store, then tried to install the application from the Play Store, but there is a message: "this application is not compatible with your device"

I tried to install the application on mobile phones (popular samsung and sony phones) from the Play Store and manually install the -APK file from my computer. When I want to install the same application from the Play Store with the same apk file and the same keystore, and all files, manifest, etc., Will be the same

It works when I install my apk file manually. But still no work.

I changed permissions and untested telephony, camera, mobile phone and other permissions. It just use memory for writing and reading, bluetooth (need a project) and the Internet.

My mobile devices are General Mobile 4G, One, Discovery and Samsung S4, Edge Plus, HTC One M7 and LG G3. Tablet that is not compatible with Samsung SM-T562

+3
android delphi object-pascal firemonkey delphi-xe8
source share
2 answers

I solved it! The tablet in which I try to run my application, which must be installed from the Play Store, wants to access the rough location and access the exact location. This tablet PC has its own GSM card for using the Internet, but it is a data module, not a phone. This is why my application informed me that "Application is incompatible."

android.permission.BLUETOOTH android.permission.BLUETOOTH_ADMIN android.permission.INTERNET android.permission.READ_CALENDAR android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_CALENDAR android.permission.WRITE_EXTERNAL_STORAGE 

My application now required these permissions and it works!

+2
source share

Sorry. I thought it was about launching FMX applications on Intel devices. Since I already wrote the answer, I could just leave it.

/ Pontus

--- How to run Delphi FMX applications on Intel-based devices ---

This is actually very simple. Follow these steps and your Delphi FMX app will work perfectly on most Intel core Android devices. The trick is that almost all Intel-based devices have something called lib Houdini, which transcodes the ARM binary into the Intel binary. When you create an application in Delphi, you will get an APK that contains .so files. One for ARM, one for MIPS, and the last .so file for Intel. The only .so file that contains your code is the ARM.so file. The rest are precompiled .so files that will show end users that the device is incompatible. If you omit the Intel.so file from the APK, your application will use lib Houdini and will work fine. This is if the Intel device has Houdini lib installed. It is up to the manufacturer of the device to install, not for you.

Steps to omit the Intel.so file from the APK file:

  • Go to this directory and rename the x86 folder to x86.old

C: \ Program (x86) \ Embarcadero \ Studio \ 17.0 \ lib \ android \ debug

  1. Do the same in this directory

C: \ Program (x86) \ Embarcadero \ Studio \ 17.0 \ lib \ android \ release

(change 17.0 to 16.0 for XE8 and to 15.0 for XE7, etc.)

The next time you create the APK, you will get a warning that the x86 folder does not exist, and this is just fine, because that is what we want. Now try installing the APK on your Intel device, and you'll notice that everything will be fine. If this is not the case, then lib Houdini is not installed on your device.

The only thing that will not work is debugging and that since Delphi is not aware of lib Houdini.

As a bonus, your APK will be a little smaller. If you like, you can do the same with MIPS folders. If lib Houdini is not available on your device, your application will crash.

Remember to clean and build your project before testing this.

There is another way; In Delphi, open the Project | Deployment and uncheck the box $ (BDS) \ lib \ android \ debug \ x86 \ or $ (BDS) \ lib \ android \ deploy \ x86 \ With this method you will need to make sure that you have it for all your projects. With the first method, you no longer have to worry.

While I am, I would really like to recommend this emulator; https://amiduos.com/ This is only 15. I use it with the Dell P2314T and work on multi-touch features. This is an Intel based emulator, fast, and it has lib Houdini installed.

Happy coding! / Pontus

+2
source share

All Articles