// +build !android package jni /* #include #include #include "gojni.h" */ import "C" import ( "unsafe" ) // CreateJavaVM creates a new Java VM with the options specified (if any). // This should not be called more than once as it can result in an error if // a JVM already exists for a given process. // // This is not implemented on Android and is therefore excluded on that // platform by build flags and C. func CreateJavaVM(opts ...string) JVM { nOptions := len(opts) optstrings := make([]*C.char, nOptions) for i, _ := range optstrings { optstrings[i] = C.CString(opts[i]) defer C.free(unsafe.Pointer(optstrings[i])) } var jvm *C.JavaVM if nOptions > 0 { jvm = C._jni_CreateJavaVM(&optstrings[0], C.int(nOptions)) } else { jvm = C._jni_CreateJavaVM((**C.char)(nil), 0) } return JVM{ jvm: jvm } }