Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2020 January 25

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Нене, там просто инициализируешь и берёшь оттуда GlobalRef на этот класс
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
А потом через этот класс уже всё вызываешь ь
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Да
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Совсем не уверен что можно делать глобальный статитик java класса в jni
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Они выше версии не помню какой (11 кажется) поправили, точнее убрали возможность вызывать FindClass как локальный, его надо тащить после инициализации
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Это именно что
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
У них у самих так написано
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Это статья оказывается ключевая в этом всём
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
И отсюда же все эти лайфхаки
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
!
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
JavaVM* gJvm = nullptr;
static jobject gClassLoader;
static jmethodID gFindClassMethod;

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *pjvm, void *reserved) {
   gJvm = pjvm;  // cache the JavaVM pointer
   auto env = getEnv();
   //replace with one of your classes in the line below
   auto randomClass = env->FindClass("com/example/RandomClass");
   jclass classClass = env->GetObjectClass(randomClass);
   auto classLoaderClass = env->FindClass("java/lang/ClassLoader");
   auto getClassLoaderMethod = env->GetMethodID(classClass, "getClassLoader",
                                            "()Ljava/lang/ClassLoader;");
   gClassLoader = env->CallObjectMethod(randomClass, getClassLoaderMethod);
   gFindClassMethod = env->GetMethodID(classLoaderClass, "findClass",
                                   "(Ljava/lang/String;)Ljava/lang/Class;");

   return JNI_VERSION_1_6;
}
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
!
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Люди с этим всем и бьётся ради необходимости объезжать такое, но раньше, пишут они, в ранних версиях это исправлялось как-то автоматом ( было совместимо), а сейчас изменили. В общем, спасибо, помогли ( что редкость в чатах )
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Так заработало?
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Ещё нет =)) но уже чуть-чуть
источник

DD

Denis Dodonov in Android NDK (C++) — русскоговорящее сообщество
Когда-то приходилось сидеть на 10 ндк, при наличии 16того из-за исправлений в ндк.
источник
2020 January 28

D

DaySandBox in Android NDK (C++) — русскоговорящее сообщество
Message from Руслан deleted. Reason: external link (?)
источник

Р

Руслан in Android NDK (C++) — русскоговорящее сообщество
Всем привет, добавил файл c++ и мне нужно использовать функцию, добавил cmakeLists и при компиляции ошибка undefined reference to “Android_main”
источник

SL

Sergei Loskutnikov in Android NDK (C++) — русскоговорящее сообщество
Ты не добавил файл android_native_app_glue
источник