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.

  1. Escriba el código nativo de Android en Java y llame a estas funciones de Java usando C #
  2. 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.



Esquema para crear un plugin y terminología.

  1. Escribir código Java nativo en Android Studio
  2. Exportar el código en un archivo JAR / AAR (pasos aquí para archivos JAR y archivos AAR )
  3. Copie el archivo JAR / AAR en su proyecto de Unity en Assets / Plugins / Android
  4. 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

  1. Involucrar código personalizado - Elija el método 1
  2. ¿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 () {
        
    }

}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow