2016-02-29 63 views
1

我想知道是否有人可以向我解釋如何讓你的PyQt5應用程序在Android上運行。關於Android至少可以說文檔不是很明確。在Android上的PyQt5

我建立在Kubuntu桌面上。我有Android NDK和SDK安裝,我有Android的Qt 5.5.1。

我不知道如何從這裏開始。我試圖建立PyQt5爲Android像我將建立它的Linux:

ANDROID_NDK_ROOT=<MY_NDK_INSTALLATION> python configure.py -q <PATH_TO_ANDROID_QMAKE> 

但只是返回以下錯誤:

Querying qmake about your Qt installation... 
Determining the details of your Qt installation... 
/home/jakob/Qt/5.5/android_armv7/bin/qmake -o qtdetail.mk qtdetail.pro 
make -f qtdetail.mk 
/home/jakob/dev/android/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -fno-builtin-memmove -std=c++11 -O2 -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -mthumb -Wall -Wno-psabi -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../../Qt/5.5/android_armv7/include -I../../../Qt/5.5/android_armv7/include/QtCore -I. -I../../android/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/include -I../../android/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I../../android/android-ndk-r10e/platforms/android-9/arch-arm/usr/include -I../../../Qt/5.5/android_armv7/mkspecs/android-g++ -o qtdetail.o qtdetail.cpp 
/home/jakob/dev/android/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ --sysroot=/home/jakob/dev/android/android-ndk-r10e/platforms/android-9/arch-arm/ -Wl,-soname,libqtdetail.so -Wl,-rpath=/home/jakob/Qt/5.5/android_armv7/lib -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libqtdetail.so qtdetail.o -L/home/jakob/dev/android/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a -L/home/jakob/dev/android/android-ndk-r10e/platforms/android-9/arch-arm//usr/lib -L/home/jakob/Qt/5.5/android_armv7/lib -lQt5Core -L/opt/android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a -L/opt/android/ndk/platforms/android-9/arch-arm//usr/lib -lgnustl_shared -llog -lz -lm -ldl -lc -lgcc 
Error: Failed to determine the detail of your Qt installation. Try again using 
the --verbose flag to see more detail about the problem. 

任何人可以給出一個提示嗎?

如果有人能夠提供在Android上使用PyQt5的指南,那真的很不錯。

回答

0

qtdetail的代碼只是生成一個純文本的配置,所以我跑我的Android設備上其來源和得到這個:

Open Source 
shared 
PyQt_Desktop_OpenGL 

如果您不能重複我的步驟,你可以將此補丁應用到configure.py(用於類Unix平臺)

697,698c697,699 
<   cmd = compile_qt_program(self, verbose, 'qtdetail', source, 'QtCore', 
<     debug=debug) 
--- 
>   # cmd = compile_qt_program(self, verbose, 'qtdetail', source, 'QtCore', 
>   #   debug=debug) 
>   cmd = """echo "Open Source\nshared\nPyQt_Desktop_OpenGL" > qtdetail.out"""