mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-28 00:49:28 -05:00
Add support for SQLCipher on Android
Plus some cleanup
This commit is contained in:
parent
ebfe50f814
commit
00125864ff
@ -46,6 +46,7 @@ export HOST_NUM_CPU=1
|
||||
./android-prepare-toolchain.sh
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
== Preparing Qt Creator
|
||||
|
||||
Now that your environement is set up you should configure Qt Creator for Android
|
||||
@ -81,15 +82,13 @@ and add the following configurations
|
||||
CONFIG+=no_retroshare_gui CONFIG+=no_retroshare_nogui CONFIG+=no_retroshare_plugins CONFIG+=retroshare_android_service CONFIG+=libresapilocalserver CONFIG+=no_libresapihttpserver CONFIG+=retroshare_qml_app
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
WARNING: SQLCipher is not supported yet on RetroShare for Android. This poses a
|
||||
major security concern, we are working to fix this ASAP.
|
||||
|
||||
TIP: Some versions of QtCreator try to find the Android SDK in
|
||||
+/opt/android/sdk+. A workaround to this is to make a symbolic link there
|
||||
pointing to your SDK installation path, like
|
||||
+mkdir -p /opt/android/sdk && ln -s /home/user/android-sdk-linux
|
||||
/opt/android/sdk+
|
||||
|
||||
|
||||
== Quircks
|
||||
|
||||
On some Android devices like +Huawei ALE-L21+ background applications are
|
||||
@ -106,6 +105,7 @@ To enable enable _protection_: +Android menu -> Settings -> Privacy & security
|
||||
|
||||
Other devices may offer similar _features_ please report them.
|
||||
|
||||
|
||||
== Debugging with GDB
|
||||
|
||||
QtCreator actually support debugging only for the foreground activity, so to
|
||||
|
@ -11,6 +11,7 @@
|
||||
[ -z ${OPENSSL_SOURCE_VERSION+x} ] && export OPENSSL_SOURCE_VERSION="1.0.2n"
|
||||
[ -z ${SQLITE_SOURCE_YEAR+x} ] && export SQLITE_SOURCE_YEAR="2018"
|
||||
[ -z ${SQLITE_SOURCE_VERSION+x} ] && export SQLITE_SOURCE_VERSION="3220000"
|
||||
[ -z ${SQLCIPHER_SOURCE_VERSION+x} ] && export SQLCIPHER_SOURCE_VERSION="3.4.2"
|
||||
[ -z ${LIBUPNP_SOURCE_VERSION+x} ] && export LIBUPNP_SOURCE_VERSION="1.6.24"
|
||||
|
||||
|
||||
@ -105,11 +106,18 @@ build_sqlite()
|
||||
|
||||
build_sqlcipher()
|
||||
{
|
||||
echo "sqlcipher not supported yet on android"
|
||||
return 0
|
||||
|
||||
cd sqlcipher
|
||||
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="${SYSROOT}/usr/lib/libcrypto.a"
|
||||
B_dir="sqlcipher-${SQLCIPHER_SOURCE_VERSION}"
|
||||
T_file="${B_dir}.tar.gz"
|
||||
[ -f $T_file ] || wget -O $T_file https://github.com/sqlcipher/sqlcipher/archive/v${SQLCIPHER_SOURCE_VERSION}.tar.gz
|
||||
rm -rf $B_dir
|
||||
tar -xf $T_file
|
||||
cd $B_dir
|
||||
./configure --build=$(sh ./config.guess) \
|
||||
--host=${ANDROID_NDK_ARCH}-linux \
|
||||
--prefix="${SYSROOT}/usr" --with-sysroot="${SYSROOT}" \
|
||||
--enable-tempstore=yes \
|
||||
--disable-tcl --disable-shared \
|
||||
CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="${SYSROOT}/usr/lib/libcrypto.a"
|
||||
make -j${HOST_NUM_CPU}
|
||||
make install
|
||||
cd ..
|
||||
@ -153,6 +161,7 @@ build_toolchain
|
||||
build_bzlib
|
||||
build_openssl
|
||||
build_sqlite
|
||||
build_sqlcipher
|
||||
build_libupnp
|
||||
|
||||
echo NDK_TOOLCHAIN_PATH=${NDK_TOOLCHAIN_PATH}
|
||||
|
@ -920,21 +920,25 @@ test_bitdht {
|
||||
android-* {
|
||||
## ifaddrs is missing on Android to add them don't use the one from
|
||||
## https://github.com/morristech/android-ifaddrs
|
||||
## because they crash, use QNetworkInterface from Qt instead
|
||||
## because it crash, use QNetworkInterface from Qt instead
|
||||
CONFIG *= qt
|
||||
QT *= network
|
||||
|
||||
## Add this here and not in retroshare.pri because static library are very
|
||||
## sensible to order in command line, has to be in the end of file for the
|
||||
## same reason
|
||||
DEFINES *= "fopen64=fopen"
|
||||
DEFINES *= "fseeko64=fseeko"
|
||||
DEFINES *= "ftello64=ftello"
|
||||
LIBS *= -lbz2 -lupnp -lixml -lthreadutil -lsqlite3
|
||||
|
||||
## Static library are verysensible to order in command line, has to be in the
|
||||
## end of file for this reason
|
||||
|
||||
LIBS += -L$$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/lib/ -lsqlcipher
|
||||
PRE_TARGETDEPS += $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/lib/libsqlcipher.a
|
||||
|
||||
LIBS += -L$$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/lib/ -lssl
|
||||
INCLUDEPATH += $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/include
|
||||
DEPENDPATH += $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/include
|
||||
PRE_TARGETDEPS += $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/lib/libssl.a
|
||||
|
||||
LIBS += -L$$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/lib/ -lcrypto
|
||||
INCLUDEPATH += $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/include
|
||||
DEPENDPATH += $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/include
|
||||
PRE_TARGETDEPS += $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/lib/libcrypto.a
|
||||
|
||||
HEADERS += util/androiddebug.h
|
||||
|
@ -119,21 +119,11 @@ android-* {
|
||||
CONFIG -= no_retroshare_android_notify_service
|
||||
CONFIG *= retroshare_android_notify_service
|
||||
}
|
||||
CONFIG *= no_libresapihttpserver no_sqlcipher upnp_libupnp
|
||||
CONFIG -= libresapihttpserver sqlcipher upnp_miniupnpc
|
||||
CONFIG *= no_libresapihttpserver upnp_libupnp
|
||||
CONFIG -= libresapihttpserver upnp_miniupnpc
|
||||
QT *= androidextras
|
||||
DEFINES *= "fopen64=fopen"
|
||||
DEFINES *= "fseeko64=fseeko"
|
||||
DEFINES *= "ftello64=ftello"
|
||||
INCLUDEPATH += $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/include
|
||||
LIBS *= -L$$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/
|
||||
LIBS *= -lbz2 -lupnp -lixml -lthreadutil -lsqlite3
|
||||
ANDROID_EXTRA_LIBS *= $$NATIVE_LIBS_TOOLCHAIN_PATH/sysroot/usr/lib/libsqlite3.so
|
||||
# message(LIBS: $$LIBS)
|
||||
# message(ANDROID_EXTRA_LIBS: $$ANDROID_EXTRA_LIBS)
|
||||
# message(ANDROID_PLATFORM: $$ANDROID_PLATFORM)
|
||||
# message(ANDROID_PLATFORM_ROOT_PATH: $$ANDROID_PLATFORM_ROOT_PATH)
|
||||
# message(NATIVE_LIBS_TOOLCHAIN_PATH: $$NATIVE_LIBS_TOOLCHAIN_PATH)
|
||||
}
|
||||
|
||||
win32 {
|
||||
|
Loading…
Reference in New Issue
Block a user