unity3d
Plugins Android 101 - Une introduction
Recherche…
Introduction
Cette rubrique est la première partie d'une série sur la création de plug-ins Android pour Unity. Commencez ici si vous avez peu ou pas d'expérience dans la création de plug-ins et / ou le système d'exploitation Android.
Remarques
A travers cette série, j'utilise intensivement des liens externes que je vous encourage à lire. Bien que les versions paraphrasées du contenu concerné soient incluses ici, il peut arriver que la lecture supplémentaire aide.
Commençant par les plugins Android
Actuellement, Unity propose deux méthodes pour appeler un code Android natif.
- Écrivez le code natif d'Android en Java et appelez ces fonctions Java en utilisant C #
- Ecrire du code C # pour appeler directement les fonctions faisant partie du système d'exploitation Android
Pour interagir avec du code natif, Unity fournit des classes et des fonctions.
- AndroidJavaObject - Il s'agit de la classe de base fournie par Unity pour interagir avec le code natif. Presque tous les objets renvoyés à partir du code natif peuvent être stockés en tant que et AndroidJavaObject
- AndroidJavaClass - Hérite de AndroidJavaObject. Ceci est utilisé pour référencer les classes dans votre code natif
- Obtenir / Définir les valeurs d'une instance d'un objet natif et les versions statiques de GetStatic / SetStatic
- Appel / CallStatic pour appeler des fonctions natives non statiques et statiques
Aperçu de la création d'un plugin et de la terminologie
- Ecrire du code Java natif dans Android Studio
- Exportez le code dans un fichier JAR / AAR (étapes ici pour les fichiers JAR et les fichiers AAR )
- Copiez le fichier JAR / AAR dans votre projet Unity sur Assets / Plugins / Android
- Ecrire du code dans Unity (C # a toujours été la voie à suivre ici) pour appeler des fonctions dans le plugin
Notez que les trois premières étapes s'appliquent UNIQUEMENT si vous souhaitez avoir un plug-in natif!
À partir de là, je ferai référence au fichier JAR / AAR en tant que plug - in natif et au script C # en tant que wrapper C #
Choisir entre les méthodes de création de plugins
Il est immédiatement évident que la première façon de créer des plugins est longue, donc choisir votre itinéraire semble inutile. Cependant, la méthode 1 est la seule façon d'appeler le code personnalisé. Alors, comment choisir?
En termes simples, votre plugin
- Impliquer le code personnalisé - Choisir la méthode 1
- Invoquer uniquement des fonctions Android natives? - Choisissez la méthode 2
S'il vous plaît, n'essayez PAS de "mélanger" (c'est-à-dire une partie du plugin en utilisant la méthode 1, et l'autre en utilisant la méthode 2) les deux méthodes! Bien que cela soit tout à fait possible, il est souvent difficile et difficile à gérer.
UnityAndroidPlugin.cs
Créez un nouveau script C # dans Unity et remplacez son contenu par le suivant
using UnityEngine;
using System.Collections;
public static class UnityAndroidPlugin {
}
UnityAndroidNative.java
Créez une nouvelle classe Java dans Android Studio et remplacez son contenu par le suivant
package com.axs.unityandroidplugin;
import android.util.Log;
import android.widget.Toast;
import android.app.ActivityManager;
import android.content.Context;
public class UnityAndroidNative {
}
UnityAndroidPluginGUI.cs
Créez un nouveau script C # dans Unity et collez ces contenus
using UnityEngine;
using System.Collections;
public class UnityAndroidPluginGUI : MonoBehaviour {
void OnGUI () {
}
}