Я хочу изменить «/art/runtime/oat_file_assistant.cc» в исходном коде системы Android, чтобы использовать функцию SHA1 OpenSSL. Однако во время компиляции появляется сообщение о том, что файл «openssl / sha.h» не может быть найден. Я не очень разбираюсь в C ++, как правильно использовать OpenSSL в «/art/runtime/oat_file_assistant.cc" Большое спасибо。

Вот инструкции включения

#include <openssl/sha.h>
#incldue <openssl/pem.h>

Фатальная ошибка: файл "openssl / sha.h" не найден

1
Richard_liu 25 Окт 2019 в 16:01

1 ответ

Лучший ответ

Вам необходимо добавить библиотеку SSL в static_libs или shared_libs из libart_defaults в art/runtime/Android.bp.

Примере:

cc_defaults {
    name: "libart_defaults",
    [...]
    shared: {
        shared_libs: [
            [ ... ]
            "libcrypto",
        ],
    }
}

Инструменты сборки Android (Soong) позаботятся о добавлении флагов -I в gcc.

0
Simpl 27 Окт 2019 в 10:01