Какие команды использует ndk-build для сборки программ?

По причине того что у меня нет компьютера с архитектурой x86_64 я вынужден собирать программы вручную. У меня получилось собрать hello-jni из примеров google Но собрать другие примеры нет. Как мне кажется не работает импорт libandroid.so и liblog.so. Я пробовал писать логи но в adb logcat ничего не было.
Я использовал следующие команды:
для получения файла заголовков
javah -classpath $ANDROID_JAR/android.jar:obj/ -d jni com.example.demo.DemoActivity

и для того чтобы собрать
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64/
gcc -Wl,-rpath=$HOME/sdk/libs/arch-arm64/usr/lib/ -I"$JAVA_HOME/include" -I"$JAVA_HOME/include/linux" -I"/root/sdk/android-ndk-r20/sysroot/usr/include/" -L$HOME/sdk/android-ndk-r20/platforms/android-28/arch-arm64/usr/lib/ -landroid -llog -fPIC hello-jni.c -shared -o libhello-jni.so -Wl,-soname -Wl,--no-whole-archive -Wl,--no-undefined -Wl,-z,noexecstack

если кому надо hello-jni.c
#include <string.h>
#include <jni.h>
#include <android/log.h>
#include "com_example_demo_DemoActivity.h"

JNIEXPORT jstring JNICALL Java_com_example_demo_DemoActivity_stringFromJNI( JNIEnv* env,
                                                  jobject thiz )
{
#define LOG_TAG "mtjni"
#define DPRINTF(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,"ddddddddddddddddddddddddddd")
#define IPRINTF(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,"iiiiiiiiiiiiiiiiiiiiiiiiiiii")
#define EPRINTF(...)  __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,"eeeeeeeeeeeeeeeeeeeee")
    return (*env)->NewStringUTF(env, "Hello from JNI !  Compiled with ABI ");
}

строку оно возвращает не работает логирования

заранее благодарю
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
@Skyrimus
Используй CMake, работа с ndk - прошлый век, примеров как настраивать сборку под cmake уйма на гитхабе ДШ
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект