Мои шаги:
(1) В unity3d я добавляю коды ниже:
AndroidJavaClass jc = new
AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("Pay", "key");
(2) Экспортируйте проект Unity3d в Gradle (New), и я получаю проект gradle, включающий файлы действий:
- UnityPlayerActivity.java
- UnityPlayerNativeActivity.java
- UnityPlayerProxyActivity.java
В AndroidManifest.xml основное действие:
android:name="com.fs.game.UnityPlayerActivity"
(3) Я добавляю функцию оплаты в файл UnityPlayerActivity.java:
public void Pay(String key)
{
// test
}
(4) Наконец, используйте gradlew build
, чтобы построить этот проект, и установите apk в мой мобильный телефон.
Но когда я нажимаю кнопку тестирования, я получаю сообщение об ошибке:
java.lang.NoSuchMethodError: нет нестатического метода с именем = 'Pay'
signature = '(Ljava / lang / String;) V' в классе
Lcom.fs.game.UnityPlayerActivity;
Где проблема?