QGroundControll crashes on Android immediately after the App is opened.

Hello, I would appreciate any assist with my problem:
I’ve been struggling for several days compiling and building QGroundControll using QTCreator for Android.
I’ve succeeded with building an APK package using Qt 5.15.2 Clang Multi-Abi, release mode, deploying and running it on Android Device and Emulators.

Problem: QGroundControll crashes on Android immediately after the App is opened.
I’ve read in forums and operate accordingly and played with different versions of QTCreator, Android SDK API, Java and Gradle versions and even built a version with an empty main.cc
Without solving the App Crashing problem.
Thanks in advance for any assistance.

MY current Settings are (QGroundControll APK isn’t built using Gradle 2):
Ubuntu 20.04
QTCreator 4.13.3 Based on Qt 15.5.2 (GCC 5.3.1 20160406, 64 bit)
Java: /usr/lib/jvm/java-15-oracle (I’ve also tried 8, 1.8, 1.11)
SDK Version: 3.0, NDK Version: 21.1.6352462
QT creator “Devices” is configured to run on Android.
Used Kit: Clone of Android
Qt 5.15.2 Clang Multi-Abi, Compiler and Debugger Android Clang (C, C++ arm, NDK)
Gradle:
Gradle-wrapper.properties - file: distributionUrl=https://services.gradle.org/distributions/gradle-6.7-all.zip
build.gradle - file:
classpath ‘com.android.tools.build:gradle:4.1.0+’
Video Streaming is disabled:
GStream isn’t compiled when adding gstreamer-1.0-android-universal-1.14.4 and without it, it isn’t recognized even so it is installed.
Comment from build:Skipping support for video streaming (GStreamer libraries not installed)
AndroidManifest.xml
manifest xmlns:android=“http://schemas.android.com/apk/res/android” package=“org.mavlink.qgroundcontrol.colugo” android:versionName=“3.0.0-243-gd759438” android:versionCode=“300244” android:installLocation=“auto”>









Debug Report From Android Emulator (first 100 lines 1300 lines):
-------- beginning of kernel
12-07 16:38:09.449 0 0 I : Linux version 4.14.175-g6f3fc9538452 (android-build@abfarm903) (Android (5900059 based on r365631c) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 207d7abc1a2abf3ef8d4301736d6a7ebc224a290) (based on LLVM 9.0.8svn)) #1 SMP PREEMPT Wed Apr 8 17:38:09 UTC 2020
12-07 16:38:09.449 0 0 I Command line: qemu=1 no_timer_check androidboot.hardware=ranchu androidboot.serialno=EMULATOR30X2X6X0 clocksource=pit no-kvmclock android.qemud=1 console=0 android.checkjni=1 qemu.gles=1 qemu.settings.system.screen_off_timeout=2147483647 qemu.encrypt=1 qemu.vsync=60 qemu.gltransport=pipe qemu.gltransport.drawFlushInterval=800 qemu.opengles.version=131072 cma=320M@0-4G qemu.wifi=1 mac80211_hwsim.channels=2 loop.max_part=7 androidboot.vbmeta.size=4352 androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.digest=fd6af4a5e0c03b255fabab650da6219606f0accbaf2dfe7c53c61b1d2aa50cb3 androidboot.boot_devices=pci0000:00/0000:00:03.0 ramoops.mem_address=0xff018000 ramoops.mem_size=0x10000 memmap=0x10000$0xff018000 qemu.dalvik.vm.heapsize=512m mac80211_hwsim.mac_prefix=5554
12-07 16:38:09.449 0 0 I x86/fpu : x87 FPU will use FXSAVE
12-07 16:38:09.449 0 0 I e820 : BIOS-provided physical RAM map:
12-07 16:38:09.449 0 0 I BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
12-07 16:38:09.449 0 0 I BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
12-07 16:38:09.449 0 0 I BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
12-07 16:38:09.449 0 0 I BIOS-e820: [mem 0x0000000000100000-0x000000007ffd3fff] usable
12-07 16:38:09.449 0 0 I BIOS-e820: [mem 0x000000007ffd4000-0x000000007fffffff] reserved
12-07 16:38:09.449 0 0 I BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
12-07 16:38:09.449 0 0 I BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
12-07 16:38:09.449 0 0 I : NX (Execute Disable) protection: active
12-07 16:38:09.449 0 0 I e820 : user-defined physical RAM map:
12-07 16:38:09.449 0 0 I user : [mem 0x0000000000000000-0x000000000009fbff] usable
12-07 16:38:09.449 0 0 I user : [mem 0x000000000009fc00-0x000000000009ffff] reserved
12-07 16:38:09.449 0 0 I user : [mem 0x00000000000f0000-0x00000000000fffff] reserved
12-07 16:38:09.449 0 0 I user : [mem 0x0000000000100000-0x000000007ffd3fff] usable
12-07 16:38:09.449 0 0 I user : [mem 0x000000007ffd4000-0x000000007fffffff] reserved
12-07 16:38:09.449 0 0 I user : [mem 0x00000000feffc000-0x00000000feffffff] reserved
12-07 16:38:09.449 0 0 I user : [mem 0x00000000ff018000-0x00000000ff027fff] reserved
12-07 16:38:09.449 0 0 I user : [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
12-07 16:38:09.449 0 0 I : SMBIOS 2.8 present.
12-07 16:38:09.449 0 0 I DMI : QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.1-0-g0551a4be2c-prebuilt.qemu-project.org 04/01/2014
12-07 16:38:09.449 0 0 I Hypervisor detected: KVM
12-07 16:38:09.449 0 0 I tsc : Fast TSC calibration using PIT
12-07 16:38:09.449 0 0 D e820 : update [mem 0x00000000-0x00000fff] usable ==> reserved
12-07 16:38:09.449 0 0 D e820 : remove [mem 0x000a0000-0x000fffff] usable
12-07 16:38:09.449 0 0 I e820 : last_pfn = 0x7ffd4 max_arch_pfn = 0x400000000
12-07 16:38:09.449 0 0 I x86/PAT : Configuration [0-7]: WB WT UC- UC WB WT UC- UC
12-07 16:38:09.449 0 0 I : found SMP MP-table at [mem 0x000f5ad0-0x000f5adf]
12-07 16:38:09.449 0 0 D : Base memory trampoline at [ (ptrval)] 98000 size 28672
12-07 16:38:09.449 0 0 I : Kernel/User page tables isolation: disabled on command line.
12-07 16:38:09.449 0 0 D : BRK [0x08d07000, 0x08d07fff] PGTABLE
12-07 16:38:09.449 0 0 D : BRK [0x08d08000, 0x08d08fff] PGTABLE
12-07 16:38:09.449 0 0 D : BRK [0x08d09000, 0x08d09fff] PGTABLE
12-07 16:38:09.449 0 0 D : BRK [0x08d0a000, 0x08d0afff] PGTABLE
12-07 16:38:09.449 0 0 D : BRK [0x08d0b000, 0x08d0bfff] PGTABLE
12-07 16:38:09.449 0 0 D : BRK [0x08d0c000, 0x08d0cfff] PGTABLE
12-07 16:38:09.449 0 0 I RAMDISK : [mem 0x7fef4000-0x7ffcffff]
12-07 16:38:09.449 0 0 I ACPI : Early table checksum verification disabled
12-07 16:38:09.449 0 0 I ACPI : RSDP 0x00000000000F58D0 000014 (v00 BOCHS )
12-07 16:38:09.449 0 0 I ACPI : RSDT 0x000000007FFE1C02 000030 (v01 BOCHS BXPCRSDT 00000001 BXPC 00000001)
12-07 16:38:09.449 0 0 I ACPI : FACP 0x000000007FFE1AC6 000074 (v01 BOCHS BXPCFACP 00000001 BXPC 00000001)
12-07 16:38:09.449 0 0 I ACPI : DSDT 0x000000007FFE0040 001A86 (v01 BOCHS BXPCDSDT 00000001 BXPC 00000001)
12-07 16:38:09.449 0 0 I ACPI : FACS 0x000000007FFE0000 000040
12-07 16:38:09.449 0 0 I ACPI : APIC 0x000000007FFE1B3A 000090 (v01 BOCHS BXPCAPIC 00000001 BXPC 00000001)
12-07 16:38:09.449 0 0 I ACPI : HPET 0x000000007FFE1BCA 000038 (v01 BOCHS BXPCHPET 00000001 BXPC 00000001)
12-07 16:38:09.449 0 0 D ACPI : Local APIC address 0xfee00000
12-07 16:38:09.449 0 0 I cma : Reserved 320 MiB at 0x000000006bc00000
12-07 16:38:09.449 0 0 I Zone ranges:
12-07 16:38:09.449 0 0 I : DMA [mem 0x0000000000001000-0x0000000000ffffff]
12-07 16:38:09.449 0 0 I : DMA32 [mem 0x0000000001000000-0x000000007ffd3fff]
12-07 16:38:09.449 0 0 I : Normal empty
12-07 16:38:09.449 0 0 I : Movable zone start for each node
12-07 16:38:09.449 0 0 I : Early memory node ranges
12-07 16:38:09.449 0 0 I node 0: [mem 0x0000000000001000-0x000000000009efff]
12-07 16:38:09.449 0 0 I node 0: [mem 0x0000000000100000-0x000000007ffd3fff]
12-07 16:38:09.449 0 0 I : Initmem setup node 0 [mem 0x0000000000001000-0x000000007ffd3fff]
12-07 16:38:09.449 0 0 D : On node 0 totalpages: 524146
12-07 16:38:09.449 0 0 D DMA zone: 64 pages used for memmap
12-07 16:38:09.449 0 0 D DMA zone: 22 pages reserved
12-07 16:38:09.449 0 0 D DMA zone: 3998 pages, LIFO batch:0
12-07 16:38:09.449 0 0 D DMA32 zone: 8128 pages used for memmap
12-07 16:38:09.449 0 0 D DMA32 zone: 520148 pages, LIFO batch:31
12-07 16:38:09.449 0 0 D ACPI : Local APIC address 0xfee00000
12-07 16:38:09.449 0 0 I ACPI : LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
12-07 16:38:09.449 0 0 I IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
12-07 16:38:09.449 0 0 I ACPI : INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
12-07 16:38:09.449 0 0 I ACPI : INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
12-07 16:38:09.449 0 0 I ACPI : INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
12-07 16:38:09.449 0 0 I ACPI : INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
12-07 16:38:09.449 0 0 I ACPI : INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
12-07 16:38:09.449 0 0 D ACPI : IRQ0 used by override.
12-07 16:38:09.449 0 0 D ACPI : IRQ5 used by override.
12-07 16:38:09.449 0 0 D ACPI : IRQ9 used by override.
12-07 16:38:09.449 0 0 D ACPI : IRQ10 used by override.
12-07 16:38:09.449 0 0 D ACPI : IRQ11 used by override.
12-07 16:38:09.449 0 0 I : Using ACPI (MADT) for SMP configuration information
12-07 16:38:09.449 0 0 I ACPI : HPET id: 0x8086a201 base: 0xfed00000
12-07 16:38:09.449 0 0 I smpboot : Allowing 4 CPUs, 0 hotplug CPUs
12-07 16:38:09.449 0 0 I e820 : [mem 0x80000000-0xfeffbfff] available for PCI devices
12-07 16:38:09.449 0 0 I : Booting paravirtualized kernel on KVM
12-07 16:38:09.449 0 0 I clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
12-07 16:38:09.449 0 0 I random : get_random_bytes called from start_kernel+0x81/0x4e0 with crng_init=0
12-07 16:38:09.449 0 0 I setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:4 nr_node_ids:1
12-07 16:38:09.449 0 0 I percpu : Embedded 42 pages/cpu s134424 r8192 d29416 u524288
12-07 16:38:09.449 0 0 D pcpu-alloc: s134424 r8192 d29416 u524288 alloc=1*2097152
12-07 16:38:09.449 0 0 D pcpu-alloc: [0] 0 1 2 3
12-07 16:38:09.449 0 0 I : KVM setup async PF for cpu 0
12-07 16:38:09.449 0 0 I kvm-stealtime: cpu 0, msr 7fc15280
12-07 16:38:09.449 0 0 I : Built 1 zonelists, mobility grouping on. Total pages: 515932
12-07 16:38:09.449 0 0 I : Kernel command line: nopti qemu=1 no_timer_check androidboot.hardware=ranchu androidboot.serialno=EMULATOR30X2X6X0 clocksource=pit no-kvmclock android.qemud=1 console=0 android.checkjni=1 qemu.gles=1 qemu.settings.system.screen_off_timeout=2147483647 qemu.encrypt=1 qemu.vsync=60 qemu.gltransport=pipe qemu.gltransport.drawFlushInterval=800 qemu.opengles.version=131072 cma=320M@0-4G qemu.wifi=1 mac80211_hwsim.channels=2 loop.max_part=7 androidboot.vbmeta.size=4352 androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.digest=fd6af4a5e0c03b255fabab650da6219606f0accbaf2dfe7c53c61b1d2aa50cb3 androidboot.boot_devices=pci0000:00/0000:00:03.0 ramoops.mem_address=0xff018000 ramoops.mem_size=0x10000 memmap=0x10000$0xff018000 qemu.dalvik.vm.heapsize=512m mac80211_hwsim.mac_prefix=5554
12-07 16:38:09.449 0 0 I : PID hash table entries: 4096 (order: 3, 32768 bytes)
12-07 16:38:09.449 0 0 I : Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
12-07 16:38:09.449 0 0 I : Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
12-07 16:38:09.449 0 0 I Memory : 1707716K/2096584K available (14348K kernel code, 1105K rwdata, 3548K rodata, 1320K init, 524K bss, 61188K reserved, 327680K cma-reserved)
12-07 16:38:09.449 0 0 I SLUB : HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
12-07 16:38:09.449 0 0 I : Preemptible hierarchical RCU implementation.
12-07 16:38:09.449 0 0 I : RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
12-07 16:38:09.449 0 0 I : Tasks RCU enabled.

You are not following the exact instructions as described here: https://dev.qgroundcontrol.com/master/en/getting_started/index.html. Without that who knows what could be going wrong.

I’m by far after that,
I did exactly as instructed, and Package wasn’t even built.
My current settings are after a deep reading in forums and that is the only way I could compile and build the apk package. :frowning:

Whatever you are reading in forums is wrong. If you wan’t to know exactly how QGC builds android in CI looking at Travis.yml. It will show details on exact QGC, gstreamer and android SDK usage. That obviously works fine. If you replicate that setup it should work. Getting Qt+Android set up correctly is not super easy.

Hi,
from what I see (correct me if i’m wrong) the dev guide Getting Started · QGroundControl Developer Guide can not be followed as the mentioned qt version is not selectable.

i would appreciate hints how a correct / not wrong qgc android app dev setup and dev process should look like.
the dev guide could be updated accordingly.

best regards
rchrd
. . . …
p.s.
dev guide says:
“Download and run the Qt Online Installer
anyway the installer doesn’t offer the version 5.12.6.

but 5.12.6. seems to be avaliable at Index of /archive/qt/5.12/5.12.6 separately

dev guide mentions msvs 2017.
Supported Platforms | Qt 5.15 currently also mentions MSVC 2019 below “The following platforms are supported in Qt 5.15.”

Hello, I have met the same problem that you described above.I’ve succeeded with building an APK package using Qt 5.15.2 Clang Multi-Abi, release mode.But it crashes on Android immediately after the App is opened.

SDK Version: 5.0, NDK Version: 21.3.6528147,jdk Version:1.8.0_291
android:versionName:3.0.0-243-gd759437
versionCode=“300243”

I’ve been struggling for weeks to solve this problem.Have you solved this problem yet?Looking forward to your reply.Thank you.

Hi, I have also been struggling with building on android. I have the same setup as you, Have you been able to solve your problem? Thanks in advance.