Может ли logcat использоваться для регистрации кода NDK в Android? Или что такое параметры регистрации от NDK?
Как записывать журналы из внутреннего кода в Android (NDK)? Каковы доступные варианты?
Например, может ли logcat использоваться изнутри NDK для записи журналов? Или, поскольку его более высокий уровень в android, он не может быть доступен из NDK?
В настоящий момент я просто знаю, как писать времена из кода C:
millis = System.currentTimeMillis();
И с функцией, которая будет писать это время плюс любые сообщения в пользовательский файл журнала.
Ответы
Ответ 1
Вы можете использовать ведение журнала Android
#include <android/log.h>
#define APPNAME "MyApp"
__android_log_print(ANDROID_LOG_VERBOSE, APPNAME, "My Log");
Также убедитесь, что вы также ссылаетесь на библиотеку журналов в своем файле Android.mk:
LOCAL_LDLIBS := -llog
Это уже обсуждалось на . Есть ли простой способ войти в код Android NDK?
Ответ 2
Если вы используете новые версии Android Studio (2.2+), которые используют CMake, тогда вы найдете следующее автоматически добавленное в ваш CMakeLists.txt при создании нового проекта с поддержкой С++:
find_library( # Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log )
и
target_link_libraries( # Specifies the target library.
your-lib1
your-lib2
...
# Links the target library to the log library
# included in the NDK.
${log-lib} )