Cannot call non static method in java plugin with JNI

Hello. I have successfully got a plugin working for unity with a java .jar. I can call static classes from my jar file but not non static classes. I have no clue why. I am trying to do it like this. I read that its possible to do it like the following code, but I gave it a shot and its not working. Thanks for any help bye.

-----------------MonoBehaviour Script

_ActivityClass = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”);
_MyActivityClass = new AndroidJavaClass(“com.example.john.myapplication.MainActivity”);

_ActivityObject = _ActivityClass.GetStatic(“currentActivity”);

int iresult = _ActivityObject.Call(“getNumber”);

---------------MonoBehaviour Script

----------------Java code

public int number = 11;
public int getNumber()
{
number++;
return number;
}

----------------Java code

You are calling UnityPlayer.currentActivity.getNumber(). Are you sure that you have set your custom activity as the main activity ?

I don’t think I was doing it right. Finally I think I have got it right, encase anyone has any input , or it may help someone int he future too.

C#

androidJavaClass = new AndroidJavaClass(“com.example.john.myapplication.MainActivity”);

AndroidJavaClass unityPlayerObject = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”);

AndroidJavaObject unityActivity = unityPlayerObject.GetStatic(“currentActivity”);

androidJavaClass.Call(“initialize”, unityActivity);

JAVA

public void initialize (Context unityContext){

}

I got it working but I still have issues. I am trying out retrieving values from my jar file like so. If i make getNumber static I can get the value 55. If I make getNumber not static I get 0 back. Can anyone explain this to me.

C#
androidJavaClass = new AndroidJavaClass(“com.example.john.myapplication.MainActivity”);

AndroidJavaClass unityPlayerObject = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”);

AndroidJavaObject unityActivity = unityPlayerObject.GetStatic(“currentActivity”);

androidJavaClass.Call(“initialize”, unityActivity);

int Times_Called = androidJavaClass.CallStatic(“getNumber”);

JAVA

public static int getNumber()
{
return 55;
}

I have also tried this C# code to get a stringa rray back from a jar file.

C#
AndroidJavaObject returnedStringArray =
androidJavaClass.Call<AndroidJavaObject(“getStringsAfterPassingThemIn”, unityActivity);

I get nothing back from the java file unless I do a CallStatic. Thanks for any input bye.