Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <jni.h>
- #include <cassert>
- class CJava {
- public:
- CJava()
- {
- JavaVMInitArgs args;
- JavaVMOption options;
- args.version = JNI_VERSION_1_6;
- args.nOptions = 1;
- options.optionString = "-Djava.class.path=./";
- args.options = &options;
- args.ignoreUnrecognized = false;
- int res = JNI_CreateJavaVM(&m_javaVM, (void**)&m_jniEnv, &args);
- if (res < 0 || m_jniEnv == nullptr)
- {
- printf("Unable to Launch JVM, error %d\n", res);
- assert(false);
- }
- printf("Started JVM\n");
- }
- JNIEnv* GetJNIEnv()
- {
- return m_jniEnv;
- }
- private:
- JavaVM* m_javaVM;
- JNIEnv* m_jniEnv;
- };
- int main(int argc, char* argv[])
- {
- CJava* java = new CJava();
- jclass testClass = java->GetJNIEnv()->FindClass("TestClass");
- assert(testClass != nullptr);
- jmethodID mainMethod = java->GetJNIEnv()->GetStaticMethodID(testClass, "testMethod", "()V");
- assert(mainMethod != nullptr);
- java->GetJNIEnv()->CallStaticVoidMethod(testClass, mainMethod, nullptr);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement