[PyQt] Android deploy using Python 3.4.3/PyQt5.4.2

Stephen Chapman schapman1974 at gmail.com
Wed Jun 24 14:52:16 BST 2015


I am working with ArchLinux to try and get a deploy out to an android device
I have my device connected directly.

I made static builds of Python3.4.3 and PyQt5.4.2  and sip
Arch linux also uses these same versions of Python PyQt, and sip

I run my pyqtdeploy on a very simple example script

from PyQt5 import QtCore, QtGui, QtWidgets

class Window(QtWidgets.QWidget):
    def __init__(self):
        super(Window, self).__init__()
        self.button = QtWidgets.QPushButton('Test', self)
        self.label = QtWidgets.QLabel(self)
        self.button.clicked.connect(self.handleButton)
        layout = QtWidgets.QVBoxLayout(self)
        layout.addWidget(self.label)
        layout.addWidget(self.button)

    def handleButton(self):
        self.label.setText('Button Clicked!')

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

Tested with Desktop works fine

run qmake / make / make install  I get my libTest.so installed to the
deploy directory
I run androiddeployqt  everything builds correctly generates my Test.apk
it launches on the device.  clears the screen and then i get

"Unfortunately Test has stopped"
"OK"

I ran the build from QtCreator so I could see the application output

F/libc (5979):  Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)  thread
5995
(example.PaceTab)

Below is the adb Crash report
D/CrashAnrDetector(  789): Build:
samsung/afyonltetmo/afyonltetmo:4.4.2/KOT49H/G386TUVU1AOD7:user/release-keys
D/CrashAnrDetector(  789): Hardware: MSM8226
D/CrashAnrDetector(  789): Revision: 6
D/CrashAnrDetector(  789): Bootloader: G386TUVU1AOD7
D/CrashAnrDetector(  789): Radio: unknown
D/CrashAnrDetector(  789): Kernel: Linux version 3.4.0-4650398 (dpi at SWDD6110)
(gcc version 4.7 (GCC) ) #1 SMP PREEMPT Sun Apr 26 12:19:09 KST 2015
D/CrashAnrDetector(  789):
D/CrashAnrDetector(  789): *** *** *** *** *** *** *** *** *** *** *** ***
*** *** *** ***
D/CrashAnrDetector(  789): Build fingerprint:
'samsung/afyonltetmo/afyonltetmo:4.4.2/KOT49H/G386TUVU1AOD7:user/release-keys'
D/CrashAnrDetector(  789): Revision: '6'
D/CrashAnrDetector(  789): pid: 6601, tid: 6615, name: example.Test  >>>
org.qtproject.example.Test <<<
D/CrashAnrDetector(  789): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault
addr 00000000
D/CrashAnrDetector(  789):     r0 790b0fd4  r1 00000000  r2 790b0fd4  r3
7731c2c8
D/CrashAnrDetector(  789):     r4 790b0fd8  r5 790b0fd4  r6 790b1024  r7
790b1020
D/CrashAnrDetector(  789):     r8 790b0fd4  r9 00000000  sl 79292818  fp
79128be8
D/CrashAnrDetector(  789):     ip 78ec35c0  sp 790b0fa0  lr 7863e6db  pc
771ea1ea  cpsr 600f0030
D/CrashAnrDetector(  789):     d0  00700069007a002f  d1  006f0070006d0069
D/CrashAnrDetector(  789):     d2  005f002f00740072  d3  0069006e0069005f
D/CrashAnrDetector(  789):     d4  2f6b726f77656d61  d5  726f77656d617266
D/CrashAnrDetector(  789):     d6  2f3a72616a2e326b  d7  bff0000000000000
D/CrashAnrDetector(  789):     d8  0000000000000000  d9  0000000000000000
D/CrashAnrDetector(  789):     d10 0000000000000000  d11 0000000000000000
D/CrashAnrDetector(  789):     d12 0000000000000000  d13 0000000000000000
D/CrashAnrDetector(  789):     d14 0000000000000000  d15 0000000000000000
D/CrashAnrDetector(  789):     d16 006900700069007a  d17 0072006f0070006d
D/CrashAnrDetector(  789):     d18 00000000000000e4  d19 6c6f6f7479647027
D/CrashAnrDetector(  789):     d20 706d696372712e73  d21 6f2027726574726f
D/CrashAnrDetector(  789):     d22 6168207463656a62  d23 747461206f6e2073
D/CrashAnrDetector(  789):     d24 3fc74721cad6b0ed  d25 3fc2f112df3e5244
D/CrashAnrDetector(  789):     d26 40026bb1bbb55516  d27 4000000000000000
D/CrashAnrDetector(  789):     d28 40008df2d49d41f1  d29 3fb0f4a31edab38b
D/CrashAnrDetector(  789):     d30 3ff0000000000000  d31 3f4de16b9c24a98f
D/CrashAnrDetector(  789):     scr 60000010
D/CrashAnrDetector(  789):
D/CrashAnrDetector(  789): backtrace:
D/CrashAnrDetector(  789):     #00  pc 0012a1ea
/data/app-lib/org.qtproject.example.Test-11/libQt5Core.so
(QDir::filePath(QString const&) const+9)
D/CrashAnrDetector(  789):     #01  pc 003816d7
/data/app-lib/org.qtproject.example.Test-11/libTest.so
D/CrashAnrDetector(  789):
D/CrashAnrDetector(  789): stack:
D/CrashAnrDetector(  789):          790b0f60  00000002
D/CrashAnrDetector(  789):          790b0f64  00000010
D/CrashAnrDetector(  789):          790b0f68  00000000
D/CrashAnrDetector(  789):          790b0f6c  79292818
D/CrashAnrDetector(  789):          790b0f70  79128be8
D/CrashAnrDetector(  789):          790b0f74  400d2d3d  /system/lib/libc.so
(malloc+12)
D/CrashAnrDetector(  789):          790b0f78  00000000
D/CrashAnrDetector(  789):          790b0f7c  77138937
/data/app-lib/org.qtproject.example.Test-11/libQt5Core.so
(QArrayData::allocate(unsigned int, unsigned int, unsigned int,
QFlags<QArrayData::AllocationOption>)+34)
D/CrashAnrDetector(  789):          790b0f80  79292870
D/CrashAnrDetector(  789):          790b0f84  790b0fe0  [stack:6615]
D/CrashAnrDetector(  789):          790b0f88  790b1024  [stack:6615]
D/CrashAnrDetector(  789):          790b0f8c  79292878
D/CrashAnrDetector(  789):          790b0f90  790b0fd4  [stack:6615]
D/CrashAnrDetector(  789):          790b0f94  400d6457  /system/lib/libc.so
(dlfree+50)
D/CrashAnrDetector(  789):          790b0f98  4010f000  /system/lib/libc.so
D/CrashAnrDetector(  789):          790b0f9c  790b0fe4  [stack:6615]
D/CrashAnrDetector(  789):     #00  790b0fa0  790b0fe4  [stack:6615]
D/CrashAnrDetector(  789):          790b0fa4  790b0fe0  [stack:6615]
D/CrashAnrDetector(  789):          790b0fa8  790b1024  [stack:6615]
D/CrashAnrDetector(  789):          790b0fac  790b0fd8  [stack:6615]
D/CrashAnrDetector(  789):          790b0fb0  790b0fe0  [stack:6615]
D/CrashAnrDetector(  789):          790b0fb4  790b1024  [stack:6615]
D/CrashAnrDetector(  789):          790b0fb8  790b1020  [stack:6615]
D/CrashAnrDetector(  789):          790b0fbc  7863e6db
/data/app-lib/org.qtproject.example.Test-11/libTest.so
D/CrashAnrDetector(  789):          790b0fc0  00000001
D/CrashAnrDetector(  789):          790b0fc4  400d2d3d  /system/lib/libc.so
(malloc+12)
D/CrashAnrDetector(  789):          790b0fc8  00000000
D/CrashAnrDetector(  789):          790b0fcc  77138937
/data/app-lib/org.qtproject.example.Test-11/libQt5Core.so
(QArrayData::allocate(unsigned int, unsigned int, unsigned int,
QFlags<QArrayData::AllocationOption>)+34)
D/CrashAnrDetector(  789):          790b0fd0  79128e48
D/CrashAnrDetector(  789):          790b0fd4  792928f0
D/CrashAnrDetector(  789):          790b0fd8  00000009
D/CrashAnrDetector(  789):          790b0fdc  78ec3550
/data/app-lib/org.qtproject.example.Test-11/libTest.so
D/CrashAnrDetector(  789):
D/CrashAnrDetector(  789): memory near r0:
D/CrashAnrDetector(  789):     790b0fb4 790b1024 790b1020 7863e6db 00000001
D/CrashAnrDetector(  789):     790b0fc4 400d2d3d 00000000 77138937 79128e48
D/CrashAnrDetector(  789):     790b0fd4 792928f0 00000009 78ec3550 79292830
D/CrashAnrDetector(  789):     790b0fe4 79292878 79118790 79128be8 790b101c
D/CrashAnrDetector(  789):     790b0ff4 790b1020 78ec3550 790b1024 79118790
D/CrashAnrDetector(  789):     790b1004 790d02a0 79128be8 7863ea09 79128c88
D/CrashAnrDetector(  789):     790b1014 00000000 79128e30 739b25e0 79292830
D/CrashAnrDetector(  789):     790b1024 79292968 79128be8 78ec3550 79118790
D/CrashAnrDetector(  789):     790b1034 7863e9c5 790d02a0 72f7ffb8 00000001
D/CrashAnrDetector(  789):     790b1044 78abec3c 7911776c 79117610 72f7ffb8
D/CrashAnrDetector(  789):     790b1054 790e515b 78ec3550 78b39ba0 790ed
D/CrashAnrDetector(  789): processName:org.qtproject.example.Test
D/CrashAnrDetector(  789): broadcastEvent : org.qtproject.example.Test
SYSTEM_TOMBSTONE

rebooted the device.  same thing.

I have done this before using an older version of python and PyQt using
Ubuntu linux so I have a libTest.so from that.

I swapped that .so into the build folder and re-ran androiddeployqt and it
worked fine.
that was also built using .05 of  pyqtdeploy if that makes any difference.

Any help is would be appreciated.

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20150624/ad622f7e/attachment.html>


More information about the PyQt mailing list