diff --git a/README-Android.asciidoc b/README-Android.asciidoc index 40efe9c12..f64336c1c 100644 --- a/README-Android.asciidoc +++ b/README-Android.asciidoc @@ -252,3 +252,4 @@ your work-station running - link:https://source.android.com/devices/tech/debug/gdb[] - link:https://fw4spl-org.github.io/fw4spl-blog/2015/07/27/Native-debugging-on-Android-with-QtCreator.html[] - link:https://fragglet.livejournal.com/19646.html[] +- link:https://github.com/android-ndk/ndk/issues/773[How to build without using standalone toolchain?] diff --git a/build_scripts/Android/prepare-toolchain-clang.sh b/build_scripts/Android/prepare-toolchain-clang.sh index 158d3b28a..d767b617e 100755 --- a/build_scripts/Android/prepare-toolchain-clang.sh +++ b/build_scripts/Android/prepare-toolchain-clang.sh @@ -14,7 +14,7 @@ function define_default_value() ## You are supposed to provide the following variables according to your system setup define_default_value ANDROID_NDK_PATH "/opt/android-ndk/" define_default_value ANDROID_NDK_ARCH "arm" -define_default_value ANDROID_PLATFORM_VER "21" +define_default_value ANDROID_PLATFORM_VER "16" define_default_value NATIVE_LIBS_TOOLCHAIN_PATH "${HOME}/Builds/android-toolchains/retroshare-android-${ANDROID_PLATFORM_VER}-${ANDROID_NDK_ARCH}/" define_default_value HOST_NUM_CPU $(nproc) @@ -35,7 +35,7 @@ define_default_value LIBUPNP_SOURCE_VERSION "1.6.25" define_default_value LIBUPNP_SOURCE_SHA256 c5a300b86775435c076d58a79cc0d5a977d76027d2a7d721590729b7f369fa43 define_default_value INSTALL_QT_ANDROID "false" -define_default_value QT_VERSION "5.9.6" +define_default_value QT_VERSION "5.12.0" define_default_value QT_ANDROID_INSTALLER_SHA256 a214084e2295c9a9f8727e8a0131c37255bf724bfc69e80f7012ba3abeb1f763 define_default_value RESTBED_SOURCE_VERSION "4.6" @@ -95,6 +95,15 @@ build_toolchain() ${ANDROID_NDK_PATH}/build/tools/make_standalone_toolchain.py --verbose \ --arch ${ANDROID_NDK_ARCH} --install-dir ${NATIVE_LIBS_TOOLCHAIN_PATH} \ --api ${ANDROID_PLATFORM_VER} + find "${PREFIX}/include/" -not -type d > "${NATIVE_LIBS_TOOLCHAIN_PATH}/deletefiles" +} + +## This avoid include errors due to -isystem and -I ordering issue +delete_copied_includes() +{ + cat "${NATIVE_LIBS_TOOLCHAIN_PATH}/deletefiles" | while read delFile ; do + rm "$delFile" + done } ## More information available at https://gitlab.com/relan/provisioners/merge_requests/1 and http://stackoverflow.com/a/34032216 @@ -230,7 +239,8 @@ build_openssl() # sed -i '/LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \\/d' Makefile make -j${HOST_NUM_CPU} make install -# cp *.so "${SYSROOT}/usr/lib" + rm -f ${PREFIX}/lib/libssl.so* + rm -f ${PREFIX}/lib/libcrypto.so* cd .. } @@ -315,9 +325,10 @@ build_restbed() cd .. rm -rf restbed-build; mkdir restbed-build ; cd restbed-build - cmake -DBUILD_SSL=OFF -DCMAKE_INSTALL_PREFIX=${PREFIX} -B. -H../restbed + cmake -DBUILD_SSL=OFF -DCMAKE_INSTALL_PREFIX="${PREFIX}" -B. -H../restbed make -j${HOST_NUM_CPU} make install + cp "${PREFIX}/library/librestbed.a" "${PREFIX}/lib/" cd .. } @@ -329,6 +340,7 @@ build_sqlite build_sqlcipher build_libupnp build_rapidjson -#build_restbed # qmake build it already +build_restbed +delete_copied_includes echo NATIVE_LIBS_TOOLCHAIN_PATH=${NATIVE_LIBS_TOOLCHAIN_PATH} diff --git a/libretroshare/src/libretroshare.pro b/libretroshare/src/libretroshare.pro index 0bbc52969..cdc1f2326 100644 --- a/libretroshare/src/libretroshare.pro +++ b/libretroshare/src/libretroshare.pro @@ -881,21 +881,23 @@ rs_jsonapi { WRAPPERS_INCL_FILE=$$clean_path($${JSONAPI_GENERATOR_OUT}/jsonapi-includes.inl) WRAPPERS_REG_FILE=$$clean_path($${JSONAPI_GENERATOR_OUT}/jsonapi-wrappers.inl) - restbed.target = $$clean_path($${RESTBED_BUILD_PATH}/library/librestbed.a) - restbed.commands = \ - cd $${RS_SRC_PATH};\ - git submodule update --init --recommend-shallow supportlibs/restbed;\ - cd $${RESTBED_SRC_PATH};\ - git submodule update --init --recommend-shallow dependency/asio;\ - git submodule update --init --recommend-shallow dependency/catch;\ - git submodule update --init --recommend-shallow dependency/kashmir;\ - mkdir -p $${RESTBED_BUILD_PATH}; cd $${RESTBED_BUILD_PATH};\ - cmake -DCMAKE_CXX_COMPILER=$$QMAKE_CXX -DBUILD_SSL=OFF \ - -DCMAKE_INSTALL_PREFIX=. -B. -H$$shell_path($${RESTBED_SRC_PATH});\ - make; make install - QMAKE_EXTRA_TARGETS += restbed - libretroshare.depends += restbed - PRE_TARGETDEPS *= $${restbed.target} + no_rs_cross_compiling { + restbed.target = $$clean_path($${RESTBED_BUILD_PATH}/library/librestbed.a) + restbed.commands = \ + cd $${RS_SRC_PATH};\ + git submodule update --init --recommend-shallow supportlibs/restbed;\ + cd $${RESTBED_SRC_PATH};\ + git submodule update --init --recommend-shallow dependency/asio;\ + git submodule update --init --recommend-shallow dependency/catch;\ + git submodule update --init --recommend-shallow dependency/kashmir;\ + mkdir -p $${RESTBED_BUILD_PATH}; cd $${RESTBED_BUILD_PATH};\ + cmake -DCMAKE_CXX_COMPILER=$$QMAKE_CXX -DBUILD_SSL=OFF \ + -DCMAKE_INSTALL_PREFIX=. -B. -H$$shell_path($${RESTBED_SRC_PATH});\ + make; make install + QMAKE_EXTRA_TARGETS += restbed + libretroshare.depends += restbed + PRE_TARGETDEPS *= $${restbed.target} + } PRE_TARGETDEPS *= $${JSONAPI_GENERATOR_EXE} INCLUDEPATH *= $${JSONAPI_GENERATOR_OUT} @@ -968,12 +970,6 @@ test_bitdht { ################################# Android ##################################### android-* { -## ifaddrs is missing on Android to add them don't use the one from -## https://github.com/morristech/android-ifaddrs -## because it crash, use QNetworkInterface from Qt instead - CONFIG *= qt - QT *= network - DEFINES *= "fopen64=fopen" DEFINES *= "fseeko64=fseeko" DEFINES *= "ftello64=ftello" diff --git a/libretroshare/src/use_libretroshare.pri b/libretroshare/src/use_libretroshare.pri index 64d6dbce0..855bc0d48 100644 --- a/libretroshare/src/use_libretroshare.pri +++ b/libretroshare/src/use_libretroshare.pri @@ -50,14 +50,17 @@ dLibs = rs_jsonapi { RS_SRC_PATH=$$clean_path($${PWD}/../../) RS_BUILD_PATH=$$clean_path($${OUT_PWD}/../../) - RESTBED_SRC_PATH=$$clean_path($${RS_SRC_PATH}/supportlibs/restbed) - RESTBED_BUILD_PATH=$$clean_path($${RS_BUILD_PATH}/supportlibs/restbed) - INCLUDEPATH *= $$clean_path($${RESTBED_BUILD_PATH}/include/) - QMAKE_LIBDIR *= $$clean_path($${RESTBED_BUILD_PATH}/library/) - # Using sLibs would fail as librestbed.a is generated at compile-time - LIBS *= -L$$clean_path($${RESTBED_BUILD_PATH}/library/) -lrestbed - win32-g++:LIBS += -lwsock32 + no_cross_compiling { + RESTBED_SRC_PATH=$$clean_path($${RS_SRC_PATH}/supportlibs/restbed) + RESTBED_BUILD_PATH=$$clean_path($${RS_BUILD_PATH}/supportlibs/restbed) + INCLUDEPATH *= $$clean_path($${RESTBED_BUILD_PATH}/include/) + QMAKE_LIBDIR *= $$clean_path($${RESTBED_BUILD_PATH}/library/) + # Using sLibs would fail as librestbed.a is generated at compile-time + LIBS *= -L$$clean_path($${RESTBED_BUILD_PATH}/library/) -lrestbed + } else:sLibs *= restbed + + win32-g++:dLibs *= wsock32 } linux-* { @@ -79,3 +82,11 @@ LIBS += $$linkStaticLibs(sLibs) PRE_TARGETDEPS += $$pretargetStaticLibs(sLibs) LIBS += $$linkDynamicLibs(dLibs) + +android-* { +## ifaddrs is missing on Android to add them don't use the one from +## https://github.com/morristech/android-ifaddrs +## because it crash, use QNetworkInterface from Qt instead + CONFIG *= qt + QT *= network +} diff --git a/retroshare-service/data/retroshare-service_128x128.png b/retroshare-service/data/retroshare-service_128x128.png new file mode 100644 index 000000000..84ef9e84b Binary files /dev/null and b/retroshare-service/data/retroshare-service_128x128.png differ diff --git a/retroshare-service/data/retroshare-service_48x48.png b/retroshare-service/data/retroshare-service_48x48.png new file mode 100644 index 000000000..4e35944fc Binary files /dev/null and b/retroshare-service/data/retroshare-service_48x48.png differ diff --git a/retroshare-service/src/android/AndroidManifest.xml b/retroshare-service/src/android/AndroidManifest.xml index ca062305c..7a3930f89 100644 --- a/retroshare-service/src/android/AndroidManifest.xml +++ b/retroshare-service/src/android/AndroidManifest.xml @@ -1,13 +1,34 @@ - - - - + + + + + + + + + + + + + + + + + + + - + + + + + + - - + + + + + + + - + @@ -33,7 +64,7 @@ - +