Travailler dans Android Studio
création de plugin android
Créer un projet avec "android studio" Créer "android libraly" dans "android studio"
Dossier du programme Unity pour travailler avec Unity? "Classes.jar" dans Copier dans le dossier "libs" de la "bibliothèque android" Si "classes.jar" est inclus dans aar et compilé, il échouera lors de la construction avec Unity. Exclure "classes.jar" d'être inclus dans aar
Changer (gradle) implementation fileTree(dir: 'libs', include: ['*.jar']) ↓ compileOnly fileTree(dir: 'libs', include: ['classes.jar'])
Addendum (gradle) android.libraryVariants.all{ variant-> variant.outputs.each{output-> output.packageLibrary.exclude('libs/classes.jar') } }
Création de script Importez des classes Unity pour pouvoir envoyer des messages à Unity
import static com.unity3d.player.UnityPlayer.UnitySendMessage;
Mettez "callbackTarget" et "callbackMethod" au format String dans l'argument de classe UnitySendMessage vous permet d'échanger des chaînes au format String UnitySendMessage(callbackTarget, callbackMethod, "onReadyForSpeech");
Travailler avec Unity
AndroidJavaClass TestClass = new AndroidJavaClass ("nom du package.nom de la classe");
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject context = unityPlayer.GetStatic
context.Call("runOnUiThread", new AndroidJavaRunnable(() => { TestClass.CallStatic( "Nom de fonction défini dans TestClass", context, gameObject.name, "CallbackMethod" ); } ));
private void CallbackMethod(string message) { Debug.Log(message); }
Cela vous permet d'exécuter la fonction définie dans aar et de transmettre la valeur de retour à la fonction définie dans Unity.
Recommended Posts