//go:generate javac -bootclasspath $ANDROID_HOME/platforms/android-29/android.jar AFrag.java //go:generate jar cf AFrag.jar AFrag.class //go:generate rm AFrag.class package main import ( "log" "gioui.org/app" ) func registerFragment(w *app.Window) { labchan <- "registerFragment()" SetJVM(app.JavaVM(), app.AppContext()) w.Do(func(view uintptr) { RunInJVM(func(env *JNIEnv) { log.Print("finding class") cls := FindClass(env, "st/wow/git/fragment/AFrag") log.Print("getting methodID") mth := JniGetMethodID(env, cls, "register", "(Landroid/view/View;)V"); if mth == nil { labchan <- "nil method" return } log.Print("creating object") inst := CreateObject(env, cls) log.Print("calling method") JniCallVoidMethod1(env, inst, mth, view) log.Print("got result") }) }) }