[LAMW] Error compiling and running app on Android Emulator lazarus / 43-Android ---------------------------------------------------------------------- Lazarinr · 2025-08-30 21:08 I created a small test project in LAMW, which compiled and ran normally on my phone. However, when I disconnect the phone from the USB port and try to run it on the Android Emulator, I get the error below. Do I need to configure anything in the project option? Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Messages, Hints: 2Verbose: Selected chip architecture: armeabi-v7aVerbose: Taking libraries from folder: C:\Users\USER\Dev\LAMWProjects\AppLAMWPr oject1\libs\armeabi-v7aVerbose: Found library: libcontrols.soNote: Duplicate unit "controls" in "controls", orphaned ppu "C:\Users\USER\D ev\LAMWProjects\AppLAMWProject1\obj\controls\controls.o"Note: Duplicate unit "controls" in "LCLBase 3.8", ppu="C:\lamw_manager\LAMW\LAMW4Windows\lazarus_trunk\lcl\units\arm- android\controls.ppu", source="C:\lamw_manager\LAMW\LAMW4Windows\lazar us_trunk\lcl\controls.pp"Project: Executing command before: Successbefore build...Compile Project, OS: android, CPU: arm, Target: C:\Users\USER\Dev\LAMWProjects\AppLAMWProject1\libs\armeabi- v7a\libcontrols.so: SuccessProject: Executing command after: Successafter build...Building APK (Gradle)... : SuccessStarting APK (Gradle)... : FAILURE: Build failed with an exception., Errors: 1Fatal: FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':installDebug'.> java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed to install on any devices.* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning- mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface. html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 3s34 actionable tasks: 1 executed, 33 up-to-dateException, Errors: 1Fatal: [Exception] Failed: Cannot run APK! ---------------------------------------------------------------------- nobody.00 · 2025-08-30 22:54 Your emulator probably is not arm, ---------------------------------------------------------------------- Lazarinr · 2025-08-31 00:25 I installed Android Studio's Virtual Device Manager and created a device with these settings: DEVICE OEM = Generic Supported API = 24+ Levels SYSTEM IMAGE API Level = 36 Services = Google Play ABI = x86_64 Translated ABI = arm64-v8a Screen Resolution = 1080 x 2400 Density = 400 dpi ---------------------------------------------------------------------- Jurassic Pork · 2025-08-31 07:46 Hello, 🔹 What is ABI in Android Virtual Devices? ABI (Application Binary Interface) defines how your compiled code interacts with the system at the binary level. It depends on: The CPU architecture (e.g., ARM, x86, x86_64) The calling convention Register usage, alignment, etc. 🔹 Common ABIs in Android: ABI   CPU Architecture   Emulator Support armeabi-v7a   32-bit ARM   Translated (emulated on x86) arm64-v8a   64-bit ARM   Translated (emulated on x86_64) x86   32-bit Intel   Native (best emulator perf) x86_64   64-bit Intel   Native (best emulator perf) 🔹 Translated ABI in Emulator: A translated ABI is used when the system image ABI doesn’t match the host CPU ABI, so the emulator must emulate the CPU. Example: You install an ARM64 system image on an x86_64 host machine. The emulator uses Houdini (a binary translator from Google) to translate ARM binaries to x86 instructions. This makes it possible to run ARM apps on an x86 machine but is slower than running a native x86 system image. 🔹 Choosing a System Image for AVD: If performance matters → choose x86 or x86_64 system images. If you're testing ARM-only apps or need exact hardware simulation → use ARM images (with translation if needed). 🔹 How to Check ABI in Emulator: You can check your emulator's ABI with: adb shell getprop ro.product.cpu.abi Or check the AVD config file (~/.android/avd/.avd/config.ini): abi.type=x86_64 Friendly, J.P ---------------------------------------------------------------------- tetrastes · 2025-08-31 09:38 Quote from: Lazarinr on August 30, 2025, 11:08:09 pmCode: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Verbose: Selected chip architecture: armeabi-v7a Quote from: Lazarinr on August 31, 2025, 02:25:52 amTranslated ABI = arm64-v8a ---------------------------------------------------------------------- Lazarinr · 2025-08-31 14:10 I changed the chipset to Aarch64 and it solved the problem. Thanks for your help.