通过命令行为Android开发Qt应用

Cal*_*laf 2 macos qt android

我想使用vi / emacs和OS X命令行编译使用Qt编写的简单helloworld程序并将其部署在Android设备上,而不使用QtCreator或Android Studio。

页面介绍如何填写了值ANDROID_SDK_ROOTANDROID_NDK_ROOT等等,在编译之前QT5。过去,我曾经使用QtCreator来为Android进行编译,而不必自己编译Qt,现在我想知道是否可以使用命令行工具链来执行相同的操作。

到目前为止,我采取的步骤是:

  1. 安装了Android SDK
  2. 安装了Android NDK
  3. 由安装Qt5 sudo port install qt5-mac

在这最后一步之后,我适当地看到了/opt/local/share/qt5/mkspecs/android-g++,这表明第一步应该是qmake -spec android-g++

您是否已在OS X上成功编译并通过命令行将Qt项目部署到Android而不需要编译Qt本身?

更新资料

运行sudo port install qt5-mac在OS X上出现不安装的Qt换机器人。改为下载qt-opensource-mac-x64-1.6.0-8-online.dmg。安装/运行。单击直到Select Components。确保Android armv7已选中。

Mar*_*anu 5

您需要什么:
-Java JDK
-Apache ANT
-Android SDK
-Android NDK
-Qt for Android

设置环境变量(相应地更改):

export ANDROID_HOME=/Path/To/AndroidSDK  
export ANDROID_NDK_HOST=linux-x86  
export ANDROID_NDK_PLATFORM=android-12  
export ANDROID_NDK_ROOT=/Path/To/AndroidNDK  
export ANDROID_NDK_TOOLCHAIN_PREFIX=arm-linux-androideabi  
export ANDROID_NDK_TOOLCHAIN_VERSION=4.8  
export ANDROID_NDK_TOOLS_PREFIX=arm-linux-androideabi  
export ANDROID_SDK_ROOT=/Path/To/AndroidSDK  
export ANDROID_API_VERSION=android-12  

export JAVA_HOME=/Path/To/JavaJDK  
export PATH=$PATH:$ANDROID_HOME/tools:/Path/To/ApacheANT/bin:$JAVA_HOME/bin  
Run Code Online (Sandbox Code Playgroud)

如果您使用的是OS X,请改用以下代码行:

export ANDROID_NDK_HOST=darwin-x86_64
Run Code Online (Sandbox Code Playgroud)

为Android构建:

mkdir build_myproj_android  
cd build_myproj_android  
/Path/To/QtForAndroid/bin/qmake -r -spec android-g++ /Path/To/MyProject/MyProject.pro  
make  
make install INSTALL_ROOT=android  
/Path/To/QtForAndroid/bin/androiddeployqt --output android --verbose --input android-libMyProject.so-deployment-settings.json  
Run Code Online (Sandbox Code Playgroud)

最后,使用以下命令进行部署:

/Path/to/AndroidSDK/platform-tools/adb install /Path/to/build_myproj_android/android/bin/QtApp-debug.apk
Run Code Online (Sandbox Code Playgroud)