[PHP] struct android_app app = g_platform.getAndroid();
jobject clazz = app->activity->clazz;
JavaVM
java = app->activity->vm;

    JNIEnv* env;

    java->AttachCurrentThread(&env, NULL);

    jclass activityClass = env->FindClass("android/app/NativeActivity");

    // let's find our java!
    jmethodID getClassLoader = env->GetMethodID(activityClass, "getClassLoader", "()Ljava/lang/ClassLoader;");
    jobject cls = env->CallObjectMethod(clazz, getClassLoader);
    jclass classLoader = env->FindClass("java/lang/ClassLoader");

    jmethodID findClass = env->GetMethodID(classLoader, "loadClass", "(Ljava/lang/String;)Ljava/lang/Class;");
    LOGI("findClass=%p", findClass);

    jstring strClassName = env->NewStringUTF("com/example/native_activity/MyAct");
    jclass classIWant = (jclass)env->CallObjectMethod(cls, findClass, strClassName);
    LOGI("classIWnant=%p", classIWant);

    jmethodID constructor = env->GetMethodID(classIWant, "<init>","()V"); // crashing
    LOGI("constructor=%p", constructor);
    jobject my_obj = env->CallObjectMethod(classIWant, constructor);

    /* method */
    jmethodID slog = env->GetMethodID(classIWant, "simpleLog","()V");
    env->CallVoidMethod(my_obj, slog);

[/PHP]

Witam.
Mam dość poważny problem z JNI, owy kod za żadne skarby nie widzi mojej klasy MyAct. Przechodzi przez cały kod, ale otrzymuję taki oto błąd:

10-02 17:30:14.277: W/dalvikvm(30128): dvmFindClassByName rejecting 'com/example/native_activity/MyActq'

Lecz jeżeli zamienię /MyAct na nie istniejącą klasę (np. /MyXAct) to program zaraz wywala próbując użyć classIWant (// crashing).

W manifest oczywiście mam ustawione android:hasCode="true"

Jest ktoś kto rozumie coś z tego?