From 8c4410295f585dd8e25946764c3ed07f282dd360 Mon Sep 17 00:00:00 2001 From: dogmaphobic Date: Sun, 19 Apr 2015 15:03:10 -0400 Subject: [PATCH] Moving Android defines to QGCCommon.pri Added a preliminary android build environment file with some basic instructions. This is for Mac OS, easily modifiable for Linux but I wouldn't know where to begin getting this to run on Windows. --- QGCApplication.pro | 7 +------ QGCCommon.pri | 5 +++++ android_environment.sh | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 android_environment.sh diff --git a/QGCApplication.pro b/QGCApplication.pro index 9d57a8219..b31870f83 100644 --- a/QGCApplication.pro +++ b/QGCApplication.pro @@ -38,7 +38,7 @@ message(BASEDIR $$BASEDIR DESTDIR $$DESTDIR TARGET $$TARGET) LIBS += -L$${LOCATION_PLUGIN_DESTDIR} LIBS += -l$${LOCATION_PLUGIN_NAME} -LinuxBuild|MacBuild { +LinuxBuild|MacBuild|AndoidBuild { PRE_TARGETDEPS += $${LOCATION_PLUGIN_DESTDIR}/lib$${LOCATION_PLUGIN_NAME}.a } @@ -81,11 +81,6 @@ QT += testlib # OS Specific settings # -AndroidBuild { - DEFINES += __android__ - DEFINES += __STDC_LIMIT_MACROS -} - MacBuild { QMAKE_INFO_PLIST = Custom-Info.plist ICON = $$BASEDIR/resources/icons/macx.icns diff --git a/QGCCommon.pri b/QGCCommon.pri index ce362f1fa..d8ede623e 100644 --- a/QGCCommon.pri +++ b/QGCCommon.pri @@ -115,6 +115,11 @@ DEFINES += _TTY_NOWARN_ # OS Specific settings # +AndroidBuild { + DEFINES += __android__ + DEFINES += __STDC_LIMIT_MACROS +} + MacBuild { CONFIG += x86_64 CONFIG -= x86 diff --git a/android_environment.sh b/android_environment.sh new file mode 100644 index 000000000..477c0dbd1 --- /dev/null +++ b/android_environment.sh @@ -0,0 +1,37 @@ +#!/bin/bash +#---------------------------------------------------------- +# You will need: +# - Qt 5.4 android_armv7 kit +# - Android SDK +# - Androig NDK +# - Current Java +# - ant +#---------------------------------------------------------- +# Update with correct location for these +export ANDROID_HOME=~/Library/Android/sdk +export ANDROID_SDK_ROOT=~/Library/Android/sdk +export ANDROID_NDK_ROOT=~/Library/Android/ndk +export ANDROID_NDK_HOST=darwin-x86_64 +export ANDROID_NDK_PLATFORM=/android-9 +export ANDROID_NDK_TOOLCHAIN_PREFIX=arm-linux-androideabi +export ANDROID_NDK_TOOLCHAIN_VERSION=4.9 +export ANDROID_NDK_TOOLS_PREFIX=arm-linux-androideabi +#---------------------------------------------------------- +# To build it, run (replacing the path with where you have Qt installed) +# +# For a shadow build: (strongly recomended) +# +# >source android_environment.sh +# cd ../ +# mkdir android_build +# cd android_build +# >~/local/Qt/5.4/android_armv7/bin/qmake -r -spec android-g++ CONFIG+=debug ../qgroundcontrol/qgroundcontrol.pro +# >make -j24 +# >~/local/Qt/5.4/android_armv7/bin/androiddeployqt --input ./android-libqgroundcontrol.so-deployment-settings.json --output ./android-build --deployment bundled --android-platform android-22 --jdk /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home --verbose --ant /opt/local/bin/ant +# +# For an in place build (not recomended) +# +# >source android_environment.sh +# >~/local/Qt/5.4/android_armv7/bin/qmake -r -spec android-g++ CONFIG+=debug qgroundcontrol.pro +# >make -j24 +# >~/local/Qt/5.4/android_armv7/bin/androiddeployqt --input ./android-libqgroundcontrol.so-deployment-settings.json --output ./android-build --deployment bundled --android-platform android-22 --jdk /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home --verbose --ant /opt/local/bin/ant -- 2.22.0