-
Rename
app/androidplugindirectory to the name of your choosing. -
Update
settings.gradlewith the new path (keep the custom path separators:) and display name.include ':app:androidplugin' rootProject.name = "Unity Android Plugin" -
Update package name in
app/androidplugin/src/main/AndroidManifest.xmlandapp/androidplugin/src/main/java/com/unity/androidplugin/AndroidPlugin.java. -
Build with
make build.
-
Create a new folder in Unity's assets panel
Plugins/Android. -
Import the generated
.aarfile fromdist/intoPlugins/Android. -
Create an assembly definition in
Plugins/Android, and select onlyAndroidandEditorunder Platforms. -
Create a script in
Plugins/Androidfor accessing the plugin:using UnityEngine; public static class AndroidPlugin { private static AndroidJavaObject _androidPlugin; private static AndroidJavaObject androidPlugin { get { if (_androidPlugin != null) { return _androidPlugin; } var javaUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = javaUnityPlayer.GetStatic<AndroidJavaObject>("currentActivity"); _androidPlugin = new AndroidJavaObject("com.unity.androidplugin.AndroidPlugin", currentActivity); return _androidPlugin; } } public static void Toast(string message) { androidPlugin.Call("ToastMakeText", message); } }
-
Then call the plugin via
AndroidPlugin.Toast("Hello, world!");