diff --git a/android/makelibs.sh b/android/makelibs.sh
index d3d0ef5..8cf56ed 100755
--- a/android/makelibs.sh
+++ b/android/makelibs.sh
@@ -59,7 +59,7 @@ while : ; do
 			;;
 		ass)
 			shift
-			#BUILD_FONTCONFIG=1
+			BUILD_FONTCONFIG=1
 			BUILD_FRIBIDI=1
 			BUILD_ASS=1
 			;;
@@ -145,7 +145,7 @@ while : ; do
 			BUILD_VORBIS=1
 			BUILD_OGG=1
 			BUILD_FRIBIDI=1
-			#BUILD_FONTCONFIG=1
+			BUILD_FONTCONFIG=1
 			BUILD_ASS=1
 			BUILD_LIBXML2=1
 			#BUILD_LIBXSLT=1
@@ -212,8 +212,8 @@ while : ; do
 	esac
 done
 
-QTMAJORVERSION=5.10
-QTVERSION=$QTMAJORVERSION.1
+QTMAJORVERSION=5.11
+QTVERSION=$QTMAJORVERSION.3
 export ANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL:-21}
 export ANDROID_SDK_PLATFORM=android-$ANDROID_NATIVE_API_LEVEL
 export ANDROID_NDK_PLATFORM=android-$ANDROID_NATIVE_API_LEVEL
@@ -286,6 +286,11 @@ MISSINGHEADERS="
 		"
 
 copy_missing_sys_headers() {
+	mkdir -p $INSTALLROOT/include/arpa
+	cat <<-END > $INSTALLROOT/include/arpa/inet.h
+	#include_next <arpa/inet.h>
+	#include <linux/in6.h>
+	END
 	if [ "$TOOLCHAIN_SUFFIX" != "old" ]; then
 		mkdir -p $INSTALLROOT/include/sys || true
 		for header in $MISSINGHEADERS ; do
@@ -534,7 +539,7 @@ STRIP=${CROSSPATH2}strip \
 	CFLAGS="--sysroot=$SYSROOT $ANDROID_API_DEF" \
 	CPP=${CROSSPATH2}cpp \
 	CPPFLAGS=$CFLAGS \
-	./configure --build=x86_64 --host=$BUILD_HOST --prefix=$INSTALLROOT --with-sysroot=$SYSROOT --enable-shared=no --enable-static=yes &&
+	./configure --build=x86_64 --host=$BUILD_HOST --prefix=$INSTALLROOT --with-sysroot=$SYSROOT --enable-shared=yes --enable-static=yes &&
 	make $MAKEDEFS install-lib
 	ERR=$?
 PATH=$OPATH
@@ -1006,7 +1011,7 @@ CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
 	--without-crypto \
 	--disable-libmount \
 	--with-pcre=no \
-	--disable-shared \
+	--enable-shared \
 	--enable-static &&
 	make -j$NCPUS &&
 	make install
@@ -1118,7 +1123,7 @@ CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
 	--disable-curses \
 	--disable-csharp \
 	--disable-nls \
-	--disable-shared \
+	--enable-shared \
 	--enable-static \
 	&&
 	make -j$NCPUS &&
@@ -1186,8 +1191,32 @@ setup_lib https://github.com/freedesktop/fontconfig/archive/$FONTCONFIG_VERSION.
 pushd $FONTCONFIG
 OPATH=$PATH
 
+{ patch -p1 -Nt || true; } <<'END'
+diff --git a/src/fcobjs.c b/src/fcobjs.c
+index 16ff31c..d8bf79d 100644
+--- a/src/fcobjs.c
++++ b/src/fcobjs.c
+@@ -25,10 +25,10 @@
+ #include "fcint.h"
+ 
+ static unsigned int
+-FcObjectTypeHash (register const char *str, register unsigned int len);
++FcObjectTypeHash (register const char *str, register size_t len);
+ 
+ static const struct FcObjectTypeInfo *
+-FcObjectTypeLookup (register const char *str, register unsigned int len);
++FcObjectTypeLookup (register const char *str, register size_t len);
+ 
+ #include "fcobjshash.h"
+ 
+END
 if [ $CLEAN == 1 ]; then
+	# move generated fcblanks.h aside before clean
+	# do unicode.org does not have to be spammed
+	# as it looks like it has a DOS filter
+	mv fc-blanks/fcblanks.h{,.1} || true
 	make distclean || true
+	mv fc-blanks/fcblanks.h{.1,} || true
 fi
 
 #local CPUOPT=
@@ -1200,7 +1229,7 @@ fi
 PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
 CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
 CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
-LDFLAGS="-L$INSTALLROOT/lib" \
+LDFLAGS="-L$INSTALLROOT/lib -Wl,-rpath-link=$SYSROOT/usr/lib -Wl,-rpath-link=$INSTALLROOT/lib" \
 RANLIB=${CROSSPATH2}ranlib \
 OBJDUMP=${CROSSPATH2}objdump \
 AR=${CROSSPATH2}ar \
@@ -1213,9 +1242,11 @@ CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
 	--host=$MY_ANDROID_NDK_TOOLS_PREFIX \
 	--prefix=$INSTALLROOT \
 	--with-sysroot=$SYSROOT \
+	--with-gnu-ld=yes \
+	--disable-docs \
 	--disable-dependency-tracking \
 	--enable-libxml2 \
-	--disable-shared \
+	--enable-shared \
 	--enable-static &&
 	make -j$NCPUS &&
 	make install
@@ -1267,7 +1298,7 @@ CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
 	--without-crypto \
 	--disable-libmount \
 	--with-pcre=no \
-	--disable-shared \
+	--enable-shared \
 	--enable-static &&
 	make -j$NCPUS &&
 	make install
@@ -1314,15 +1345,16 @@ CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
 	--build=x86_64-linux-gnu \
 	--host=$MY_ANDROID_NDK_TOOLS_PREFIX \
 	--prefix=$INSTALLROOT \
-	--with-sysroot=$SYSROOT \
 	--disable-dependency-tracking \
 	--disable-require-system-font-provider \
-	--disable-shared \
+	--enable-shared \
 	--enable-static &&
 	make -j$NCPUS &&
 	make install
 	ERR=$?
 
+	#--with-sysroot=$SYSROOT \
+
 PATH=$OPATH
 unset OPATH
 popd
@@ -1444,7 +1476,7 @@ touch config/icucross.inc
 	--disable-tools \
 	--disable-tests \
 	--disable-samples \
-	--disable-shared \
+	--enable-shared \
 	--enable-static
 ERR=$?
 
@@ -1676,7 +1708,116 @@ else
 	rm qtwebkit || true
 fi
 
-if [ ${QTMAJORVERSION%.*} -ge 6 -o ${QTMAJORVERSION#*.} -gt 9 ]; then
+if [ ${QTVERSION} == "5.11.3" -o ${QTVERSION} == "5.12.0" ]; then
+echo  5.11.3 patch is different enough to warrant its own section
+{ patch -p1 -Nt --no-backup-if-mismatch -r - || true; } <<'END'
+diff --git a/qtbase/mkspecs/common/android-base-head.conf b/qtbase/mkspecs/common/android-base-head.conf
+index 9be6111..ebd3982 100644
+--- a/qtbase/mkspecs/common/android-base-head.conf
++++ b/qtbase/mkspecs/common/android-base-head.conf
+@@ -49,8 +49,9 @@ else: ANDROID_ARCHITECTURE = arm
+ 
+ !equals(NDK_TOOLCHAIN_VERSION, 4.4.3): ANDROID_CXXSTL_SUFFIX = -$$NDK_TOOLCHAIN_VERSION
+ 
++NDK_TOOLCHAIN_PATH = $$(ANDROID_NDK_TOOLCHAIN_PATH)
+ NDK_TOOLCHAIN = $$NDK_TOOLCHAIN_PREFIX-$$NDK_TOOLCHAIN_VERSION
+-NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST
++isEmpty(NDK_TOOLCHAIN_PATH): NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST
+ 
+ 
+ ANDROID_SDK_ROOT = $$(ANDROID_SDK_ROOT)
+@@ -68,7 +69,8 @@ isEmpty(ANDROID_SDK_BUILD_TOOLS_REVISION) {
+ CONFIG += $$ANDROID_PLATFORM
+ QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "")
+ 
+-ANDROID_PLATFORM_ROOT_PATH  = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/
++ANDROID_PLATFORM_ROOT_PATH = $$(ANDROID_NDK_PLATFORM_ROOT_PATH)
++isEmpty(ANDROID_PLATFORM_ROOT_PATH): ANDROID_PLATFORM_ROOT_PATH  = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/
+ ANDROID_PLATFORM_PATH  = $$ANDROID_PLATFORM_ROOT_PATH/usr
+ 
+ equals(ANDROID_TARGET_ARCH, x86_64)|equals(ANDROID_TARGET_ARCH, mips64): \
+diff --git a/qtbase/mkspecs/features/android/android.prf b/qtbase/mkspecs/features/android/android.prf
+index 1dc8f87..e796f4a 100644
+--- a/qtbase/mkspecs/features/android/android.prf
++++ b/qtbase/mkspecs/features/android/android.prf
+@@ -4,11 +4,21 @@ contains(TEMPLATE, ".*app") {
+         QMAKE_LFLAGS += -Wl,-soname,$$shell_quote($$TARGET)
+ 
+         android_install {
+-            target.path=/libs/$$ANDROID_TARGET_ARCH/
++            ANDROID_INSTALL_LIBS = $$(ANDROID_INSTALL_LIBS)
++            isEmpty(ANDROID_INSTALL_LIBS) {
++                target.path=/libs/$$ANDROID_TARGET_ARCH/
++            } else {
++                target.path=$$ANDROID_INSTALL_LIBS/
++            }
+             INSTALLS *= target
+         }
+     }
+ } else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
+-    target.path = /libs/$$ANDROID_TARGET_ARCH/
++    ANDROID_INSTALL_LIBS = $$(ANDROID_INSTALL_LIBS)
++    isEmpty(ANDROID_INSTALL_LIBS) {
++        target.path=/libs/$$ANDROID_TARGET_ARCH/
++    } else {
++        target.path=$$ANDROID_INSTALL_LIBS/
++    }
+     INSTALLS *= target
+ }
+diff --git a/qtbase/src/android/templates/build.gradle b/qtbase/src/android/templates/build.gradle
+index 3a3e0cd..f98eed7 100644
+--- a/qtbase/src/android/templates/build.gradle
++++ b/qtbase/src/android/templates/build.gradle
+@@ -41,9 +41,12 @@ android {
+     sourceSets {
+         main {
+             manifest.srcFile 'AndroidManifest.xml'
+-            java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
+-            aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
+-            res.srcDirs = [qt5AndroidDir + '/res', 'res']
++            //java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
++            java.srcDirs = ['src', 'java']
++            //aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
++            aidl.srcDirs = ['src', 'aidl']
++            //res.srcDirs = [qt5AndroidDir + '/res', 'res']
++            res.srcDirs = ['res']
+             resources.srcDirs = ['src']
+             renderscript.srcDirs = ['src']
+             assets.srcDirs = ['assets']
+diff --git a/qtbase/src/tools/androiddeployqt/main.cpp b/qtbase/src/tools/androiddeployqt/main.cpp
+index 918bc0f..d6bbf8a 100644
+--- a/qtbase/src/tools/androiddeployqt/main.cpp
++++ b/qtbase/src/tools/androiddeployqt/main.cpp
+@@ -984,8 +984,8 @@ bool copyAndroidTemplate(const Options &options)
+     if (!copyAndroidTemplate(options, QLatin1String("/src/android/templates")))
+         return false;
+ 
+-    if (options.gradle)
+-        return true;
++    //if (options.gradle)
++    //    return true;
+ 
+     return copyAndroidTemplate(options, QLatin1String("/src/android/java"));
+ }
+diff --git a/qtbase/src/3rdparty/forkfd/forkfd.c b/qtbase/src/3rdparty/forkfd/forkfd.c
+index 7f02ee9..74de1a7 100644
+--- a/qtbase/src/3rdparty/forkfd/forkfd.c
++++ b/qtbase/src/3rdparty/forkfd/forkfd.c
+@@ -45,8 +45,10 @@
+ #include <time.h>
+ #include <unistd.h>
+ 
+-#ifdef __linux__
+-#  define HAVE_WAIT4    1
++#if defined(__linux__)
++#  if __ANDROID_API__ > 19
++#    define HAVE_WAIT4    1
++#  endif
+ #  if defined(__BIONIC__) || (defined(__GLIBC__) && (__GLIBC__ << 8) + __GLIBC_MINOR__ >= 0x208 && \
+        (!defined(__UCLIBC__) || ((__UCLIBC_MAJOR__ << 16) + (__UCLIBC_MINOR__ << 8) + __UCLIBC_SUBLEVEL__ > 0x90201)))
+ #    include <sys/eventfd.h>
+END
+elif [ ${QTMAJORVERSION%.*} -ge 6 -o ${QTMAJORVERSION#*.} -gt 9 ]; then
 # 5.10 patch is different enough to warrant its own section
 { patch -p1 -Nt --no-backup-if-mismatch -r - || true; } <<'END'
 diff --git a/qtbase/mkspecs/common/android-base-head.conf b/qtbase/mkspecs/common/android-base-head.conf
@@ -1981,7 +2122,8 @@ if [ $QTVERSION_WK != $QTVERSION ]; then
 	echo "include/QtWebKitWidgets/qtwebkitwidgetsversion.h"
 	sed -i 's/\(#define QTWEBKITWIDGETS_VERSION_STR "\)[^"]*\("\)/\1'"$QTVERSION\2/; s/\(#define QTWEBKITWIDGETS_VERSION 0x\).*$/\1$QTWK_MACHVER/;" include/QtWebKitWidgets/qtwebkitwidgetsversion.h
 	echo ".qmake.conf"
-	sed -i 's/\(#define MODULE_VERSION "\).*$/\1'"$QTVERSION/;" .qmake.conf
+	#MODULE_VERSION = 5.9.1
+	sed -i 's/\(MODULE_VERSION = \).*$/\1'"$QTVERSION/;" .qmake.conf
 fi
 
 popd
@@ -2165,9 +2307,13 @@ build_qt5() {
 	make -j$NCPUS $THINGS_TO_MAKE || ERR=$?
 	#make -j$NCPUS module-qtscript-install_subtargets
 	#make -j$NCPUS module-qtandroidextras-install_subtargets
+	echo "Build Completed build_qt5 $ERR"
 	[ $ERR == 0 ] && \
 	make -j$NCPUS install \
 	|| ERR=$?
+	if [ $ERR -eq 2 ]; then
+		ERR=0
+	fi
 	#make -j$NCPUS module-qtwebengine-install_subtargets
 	true
 	#make -C qtwebkit/Source -f Makefile.api INSTALL_ROOT="$INSTALLROOT" install &&
@@ -2185,6 +2331,7 @@ build_qt5() {
 	PATH=$OPATH
 	unset OPATH
 	popd
+	echo "All Completed build_qt5 $ERR"
 	return $ERR
 }
 
@@ -2224,6 +2371,7 @@ build_webkit_59() {
 		|| ERR=$?
 	set +x
 
+	#make -j$NCPUS module-qtwebkit-install_subtargets
 	#make -j$NCPUS module-qtwebengine-install_subtargets
 	true
 	#make -C qtwebkit/Source -f Makefile.api INSTALL_ROOT="$INSTALLROOT" install &&
diff --git a/android/mythbuild.sh b/android/mythbuild.sh
index c72314b..cce225e 100755
--- a/android/mythbuild.sh
+++ b/android/mythbuild.sh
@@ -19,7 +19,7 @@ export NCPUS=$(nproc)
 
 [ -e make.inc ] && source make.inc
 
-export ANDROID_NATIVE_API_LEVEL=21
+export ANDROID_NATIVE_API_LEVEL=23
 export ANDROID_TARGET_ARCH=armeabi-v7a
 export ANDROID_NDK_TOOLS_PREFIX=arm-linux-androideabi
 if [ "$USE_CRYSTAX" == 1 ]; then
@@ -158,6 +158,7 @@ MYMYTHBUILDPATH=$MYMYTHBUILDBASEPATH/mythtv
 
 export PKG_CONFIG_DIR=
 export PKG_CONFIG_LIBDIR=$INSTALLROOT/lib/pkgconfig:$INSTALLROOT/share/pkgconfig:$QTBASE/lib/pkgconfig
+#export PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR
 export PKG_CONFIG_SYSROOT_DIR=$INSTALLROOT
 export PKG_CONFIG_SYSROOT_DIR=
 
@@ -274,6 +275,7 @@ function bundle_apk() {
 	for i in $MYTHINSTALLROOT/lib/libmythpluginmyth{archive,netvision,news,browser,game,music,zoneminder}.so \
 		$MYTHINSTALLROOT/lib/libmyth{archivehelper,fillnetvision}.so \
 		$MYTHINSTALLROOT/lib/lib{ogg,vorbis,vorbisfile,vorbisenc,FLAC}.so \
+		$QTBASE/lib/libQt5{OpenGL,WebKitWidgets,WebKit,Sensors,Positioning,MultimediaWidgets,Multimedia,PrintSupporti,Quick,Qml,WebChannel}.so \
 		; do
 		if [ -e "$i" ]; then
 			cp "$i" "$MYTHINSTALLROOT/libs/$ANDROID_TARGET_ARCH/"
@@ -364,7 +366,7 @@ $MYTHTVSRC/configure \
 	--sysroot=$SYSROOT \
 	--extra-cflags="$CRYSTAX_CFLAGS -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \
 	--extra-cxxflags=" -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \
-	--extra-ldflags="$CRYSTAX_LIBS" \
+	--extra-ldflags="$CRYSTAX_LIBS -Wl,-rpath-link=$INSTALLROOT/lib -Wl,-rpath-link=$SYSROOT/usr/lib" \
 	--qmake=$QTBASE/bin/qmake \
 	--qmakespecs="android-g++ $EXTRASPECS" \
 	--disable-qtdbus \
@@ -395,6 +397,7 @@ $MYTHTVSRC/configure \
 	#--disable-opengl-themepainter \
 	#--disable-qtwebkit \
 	#--arch=arm7a --cpu=$CPU \
+	#--disable-libxml2 \
 
 fi
 
