Android NDK вызывает функцию Java - PullRequest
0 голосов
/ 28 ноября 2018

Я не уверен, возможно ли это, но я разрабатываю нативную программу для Android, исполняемый файл Linux, который вызывает API-интерфейс Android с помощью NDK.

Этот код работает нормально, и я вижу вывод Hello worldкогда я запускаю его в оболочке.

#include <iostream>
#include <jni.h>

using namespace std;

static JavaVM *g_VM;

int main() {
    cout << "Hello world!";

    return 0;
}

Этот код даже не печатает "Hello world"

#include <iostream>
#include <jni.h>

using namespace std;

static JavaVM *g_VM;

int main() {
    cout << "Hello world!";

    JNIEnv *env;
    env->GetJavaVM(&g_VM);

    return 0;
}

Это меня очень смущает.

1 Ответ

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

ну, это правильно, но если вы хотите больше учиться, тогда зайдите на сайт разработчика и ознакомьтесь с полной документацией Ссылка .Java-код запускается Dalvik VM на Android.Dalvik VM специально разработан для систем с ограниченными аппаратными ресурсами (объем памяти, скорость процессора и т. Д.).Так что, если вы используете NDK для управления системой, в противном случае вы должны использовать вместо этого Java.

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