unity3d
Plugins de Android 101 - Una introducción
Buscar..
Introducción
Este tema es la primera parte de una serie sobre cómo crear complementos de Android para Unity. Comience aquí si tiene poca o ninguna experiencia en la creación de complementos y / o el sistema operativo Android.
Observaciones
A través de esta serie, utilizo extensivamente enlaces externos que te invito a leer. Mientras que las versiones parafraseadas del contenido relevante se incluirán aquí, puede haber ocasiones en que la lectura adicional ayude.
Comenzando con los complementos de Android
Actualmente, Unity proporciona dos formas de llamar al código nativo de Android.
- Escriba el código nativo de Android en Java y llame a estas funciones de Java usando C #
- Escriba el código C # para llamar directamente a las funciones que forman parte del sistema operativo Android
Para interactuar con el código nativo, Unity proporciona algunas clases y funciones.
- AndroidJavaObject : esta es la clase base que Unity proporciona para interactuar con el código nativo. Casi cualquier objeto devuelto desde el código nativo se puede almacenar como y AndroidJavaObject
- AndroidJavaClass - Herencias de AndroidJavaObject. Esto se utiliza para hacer referencia a las clases en su código nativo
- Obtenga / establezca los valores de una instancia de un objeto nativo y las versiones estáticas GetStatic / SetStatic
- Call / CallStatic para llamar a funciones nativas no estáticas y estáticas
Esquema para crear un plugin y terminología.
- Escribir código Java nativo en Android Studio
- Exportar el código en un archivo JAR / AAR (pasos aquí para archivos JAR y archivos AAR )
- Copie el archivo JAR / AAR en su proyecto de Unity en Assets / Plugins / Android
- Escriba el código en Unity (C # siempre ha sido el camino a seguir aquí) para llamar a las funciones en el complemento
Tenga en cuenta que los primeros tres pasos se aplican SOLAMENTE si desea tener un complemento nativo.
De aquí en adelante, me referiré al archivo JAR / AAR como el complemento nativo , y al script C # como el contenedor C #
Elegir entre los métodos de creación de plugins.
Inmediatamente es obvio que la primera forma de crear complementos es larga, por lo que elegir su ruta parece ser discutible. Sin embargo, el método 1 es la ÚNICA forma de llamar a un código personalizado. Entonces, ¿cómo se elige?
En pocas palabras, tiene su plugin
- Involucrar código personalizado - Elija el método 1
- ¿Solo invocar funciones nativas de Android? - Elija el método 2
NO intente "mezclar" (es decir, una parte del complemento que utiliza el método 1 y la otra que utiliza el método 2) ¡los dos métodos! Si bien es completamente posible, a menudo es poco práctico y doloroso de manejar.
UnityAndroidPlugin.cs
Cree un nuevo script de C # en Unity y reemplace su contenido con lo siguiente
using UnityEngine;
using System.Collections;
public static class UnityAndroidPlugin {
}
UnityAndroidNative.java
Cree una nueva clase de Java en Android Studio y reemplace su contenido con lo siguiente
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
Cree un nuevo script de C # en Unity y pegue estos contenidos
using UnityEngine;
using System.Collections;
public class UnityAndroidPluginGUI : MonoBehaviour {
void OnGUI () {
}
}