X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=doc%2Fbuilding%20novacoin-qt%20for%20android%20under%20Windows.txt;h=a9d7ef37e56187a492eafb36ba87ced797d397e8;hb=cecf7a56ed5a5efd939b21c760c69da616306005;hp=978fd9c174634dafbe814a47c8b145e65e5598cf;hpb=b8550066d8eaa6365cce306036bf8854a2948d64;p=novacoin.git diff --git a/doc/building novacoin-qt for android under Windows.txt b/doc/building novacoin-qt for android under Windows.txt index 978fd9c..a9d7ef3 100644 --- a/doc/building novacoin-qt for android under Windows.txt +++ b/doc/building novacoin-qt for android under Windows.txt @@ -1,4 +1,5 @@ -1.1 Установка архиватора 7z: http://www.7-zip.org/ +ARMV7 +1.1 Установка архиватора 7z: http://www.7-zip.org/ (при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия) 1.2 Установка msys shell: @@ -78,13 +79,13 @@ RANLIB /c/Android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt В инструкции все зависимости сохраняются в папку C:\Android\deps 2.1 OpenSSL --Скачайте http://www.openssl.org/source/openssl-1.0.1k.tar.gz +-Скачайте http://www.openssl.org/source/openssl-1.0.2.tar.gz -Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat Из MinGw shell выполните следующий код: cd /c/deps/ -tar xvfz openssl-1.0.1k.tar.gz -cd openssl-1.0.1k +tar xvfz openssl-1.0.2.tar.gz +cd openssl-1.0.2 Configure no-shared no-dso android-armv7 make @@ -145,25 +146,6 @@ TARGET_OS=OS_ANDROID_CROSSCOMPILE make libleveldb.a libmemenv.a 3. Компиляция 3.1 Собираем Novacoin QT -Откройте файл src\compat.h -Измените #include на #include - -Откройте файл src\util.cpp -Закоментируйте строки с 59 по 61 -//#ifndef WIN32 -//#include -//#endif -Закоментируйте строки с 1062 по 1067 -//#ifndef WIN32 -// void* pszBuffer[32]; -// size_t size; -// size = backtrace(pszBuffer, 32); -// backtrace_symbols_fd(pszBuffer, size, fileno(fileout)); -//#endif - -Откройте файл src\netbase.cpp -Измените #include на #include - Откройте файл novacoin-qt.pro Вместо @@ -177,8 +159,6 @@ TARGET_OS=OS_ANDROID_CROSSCOMPILE make libleveldb.a libmemenv.a вставьте -USE_UPNP=- -USE_QRCODE=0 USE_IPV6=0 USE_LEVELDB=1 USE_ASM=1 @@ -188,8 +168,8 @@ BOOST_INCLUDE_PATH=C:/Android/deps/boost_1_57_0 BOOST_LIB_PATH=C:/Android/deps/boost_1_57_0/stage/lib BDB_INCLUDE_PATH=C:/Android/deps/db-6.0.20/build_unix BDB_LIB_PATH=C:/Android/deps/db-6.0.20/build_unix -OPENSSL_INCLUDE_PATH=C:/Android/deps/openssl-1.0.1k/include -OPENSSL_LIB_PATH=C:/Android/deps/openssl-1.0.1k +OPENSSL_INCLUDE_PATH=C:/Android/deps/openssl-1.0.2/include +OPENSSL_LIB_PATH=C:/Android/deps/openssl-1.0.2 Вместо @@ -258,7 +238,47 @@ LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -l -Должно найтись Android устройство. https://yadi.sk/i/wFWZLxtie4DrN Если Windows не может найти драйвер для устройства, то укажите самостоятельно в папке C:\Android\sdk\extras\google\usb_driver есть файл android_winusb.inf -В QtCreator'е нажмите на зеленого робота и выберите Сборка: Выпуск --Нажмите зеленую стрелку(Запустить) --Выберите свой телефон/планшет и ждите завершения компиляции. -https://yadi.sk/i/hKHKL_Phe4EFL +-Нажмите зеленую стрелку(Запустить)(https://yadi.sk/i/hKHKL_Phe4EFL) +-Выберите свой телефон/планшет, нажмите OK и ждите завершения компиляции. -После завершения компиляции Novacoin-Qt будет установлен на ваш телефон/планшет и запущен. А в папке C:\Android\build-novacoin-qt-Android_armeabi_v7a_GCC_4_9_Qt_5_4_0-Release\android-build\bin будет файл QtApp-debug.apk. Переименуйте его в Novacoin-Qt-0.5.1-debug.apk и можно распростронять :) + +Изменения для Android X86 +1. Добавить путь C:\Android\android-ndk-r10d\toolchains\x86-4.9\prebuilt\windows-x86_64\bin в переменную PATH +2. Изменить системные переменные так: + +ANDROID_DEV /c/Android/android-ndk-r10d/platforms/android-9/arch-x86/usr +AR /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ar +AS /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-as +CC /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-gcc +CFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ +CPP /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-cpp +CPPFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ +CXX /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-g++ +CXXFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ -I/c/Android/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/include -I/c/Android/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include +LD /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ld +NDK_PROJECT_PATH C:\Android\android-ndk-r10d +RANLIB /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ranlib + +3. При построении OpenSSL выполнить +Configure no-shared no-dso android-x86 +вместо +Configure no-shared no-dso android-armv7 + +4. При построении BerkeleyDB выполнить +../dist/configure --host=x86-none-linux --enable-cxx --disable-shared --disable-replication +вместо +../dist/configure --host=arm-none-linux --enable-cxx --disable-shared --disable-replication + +5. При построении Boost вставить +using gcc : x86 : i686-linux-android-g++.exe ; +вместо +using gcc : arm : arm-linux-androideabi-g++.exe ; + +и выполнить +b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\x86\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-x86\usr\include + +вместо + +b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc-arm variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-arm\usr\include + +6. В QtCreator выбирать Android для X86 вместо Android для armeabi-v7a