最近需要用 Qt 来编译 Android 安装包,需要修改 Qt 的某些lib,参考 Qt 5 for Android , 官方文档写的比较详细,但是还有几个小坑需要填。
第一个坑,NDK要用 R10版本 ,可以在这里看到所有的old version NDK ;
第二个坑,
./configure -developer-build -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/lei/Android/android-ndk-r10e -android-sdk /home/lei/Android/Sdk2 -android-ndk-host linux-x86_64 -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples
第三个坑,Qt5.8.1竟然有个编译error,不过也有可能是我的环境配置有问题。
pc:~/code/qt/1/qt5/qtdeclarative$ git diff src/qml/qml/qqmltypeloader.cpp
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
index 6465cd0..cb0d0cb 100644
--- a/src/qml/qml/qqmltypeloader.cpp
+++ b/src/qml/qml/qqmltypeloader.cpp
@@ -52,6 +52,7 @@
#include <private/qqmlpropertycachecreator_p.h>
#include <private/qdeferredcleanup_p.h>
+#include <QCryptographicHash>
#include <QtCore/qdir.h>
#include <QtCore/qfile.h>
#include <QtCore/qdatetime.h>
pc:~/code/qt/1/qt5/qtdeclarative$
编译出来的东西放在qt5/qtbase/目录下,比如qmake的地址:qt5/qtbase/bin。更新Qt version to Options -> Build & Run -> Qt Versions后,重新构建 Android APK 即可。