Arbeiten in Android Studio
Android Plugin Erstellung
Erstellen Sie ein Projekt mit "android studio" Erstellen Sie "Android Libraly" in "Android Studio"
Unity-Programmordner für die Arbeit mit Unity? "Classes.jar" in In den Ordner "libs" der "android library" kopieren Wenn "classes.jar" in aar enthalten und kompiliert ist, schlägt dies beim Erstellen mit Unity fehl. Schließen Sie "classes.jar" von der Aufnahme in aar aus
Ändern (gradle) implementation fileTree(dir: 'libs', include: ['*.jar']) ↓ compileOnly fileTree(dir: 'libs', include: ['classes.jar'])
Nachtrag (gradle) android.libraryVariants.all{ variant-> variant.outputs.each{output-> output.packageLibrary.exclude('libs/classes.jar') } }
Skripterstellung Importieren Sie Unity-Klassen, damit Sie Nachrichten an Unity senden können
import static com.unity3d.player.UnityPlayer.UnitySendMessage;
Fügen Sie "callbackTarget" und "callbackMethod" im String-Format in das Klassenargument ein Mit UnitySendMessage können Sie Zeichenfolgen im Zeichenfolgenformat austauschen UnitySendMessage(callbackTarget, callbackMethod, "onReadyForSpeech");
Mit Einheit arbeiten
AndroidJavaClass TestClass = neue AndroidJavaClass ("Paketname.Klassenname");
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject context = unityPlayer.GetStatic
context.Call("runOnUiThread", new AndroidJavaRunnable(() => { TestClass.CallStatic( "In TestClass definierter Funktionsname", context, gameObject.name, "CallbackMethod" ); } ));
private void CallbackMethod(string message) { Debug.Log(message); }
Auf diese Weise können Sie die in aar definierte Funktion ausführen und den Rückgabewert an die in Unity definierte Funktion übergeben.
Recommended Posts