Как получить libssl.so и libcrypto.so из apk - PullRequest
0 голосов
/ 27 ноября 2018

Так что я пытаюсь встроить openSSL в мое приложение для Android.и ко всем моим усилиям от использования предварительно скомпилированного бинарного файла до установки Ubuntu 18 и до сих пор не удается, я впадаю в отчаяние.

Я прочитал из этой темы:

QT + OpenSSL + Android

что я могу получить их из ЛЮБОГО существующего apk, так как мне извлечь его из apk?Потому что я не нахожу его в Android ndk и sdk.если он только выбрал apk, какую программу я использую indor для меня, чтобы увидеть его.

Я использую Qt 5.11 в Windows, но у меня тоже есть ОС Linux, если это необходимо :) Спасибо!

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Я построил OpenSSL для Android несколько месяцев назад, без проблем.Просто следуйте этому руководству для Linux:

export ANDROID_NDK_ROOT="/home/dev/android-ndk-r12b"
SR="$ANDROID_NDK_ROOT/platforms/android-16/arch-arm"
BR="$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-"


RANLIB="$BR"ranlib CC="$BR"gcc ./Configure android-armeabi --prefix=$SR/usr --sysroot=$SR
ANDROID_DEV=$SR/usr make
make install

Очевидно, вам придется заменить пути на свои в зависимости от того, где и какую версию NDK вы установите, и вы уже скачали и распаковали исходный код OpenSSL.Также имейте в виду, что Qt, похоже, не работает с последними и «лучшими» наборами инструментов для Android.Фактически, android уже переключился на llvm, но для Qt вам нужно будет использовать более старые цепочки инструментов gcc.

Вы можете использовать этот скрипт для сборки libcrypto.

Есть много готовых двоичных файлов, которые вы можете получить в сети, без необходимости копаться в файлах apk, например, В этом репо есть openssl libcrypto для нескольких платформ, включая android.

Не знаю, откуда у вас идея, что вы можете получить библиотеки из любого apk-файла, очевидно, это должен быть пакет из приложения, которое включает в себя эти библиотеки для динамического связывания.

И последнее, но не менее важное: если вы все еще планируете получать предварительно скомпилированные двоичные файлы, имейте в виду, что они должны быть собраны с версией, совместимой с вашим компилятором.Вот почему лучше создать библиотеки самостоятельно, используя тот же набор инструментов, который вы используете для своего приложения.Существует также опасность получения «плохих» конечностей из неизвестного источника, они могут быть устаревшими или подделанными.

0 голосов
/ 27 ноября 2018

Вы можете открыть их, просто изменив их расширение на «.zip» :). Обновится, если я найду приложения, в которых есть эти файлы.

PS: Не все apk имеют libcrypto.so и libssl.so.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...