2017年7月23日 星期日

Unity 呼叫 Java檔案

Unity 呼叫 Java檔案

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.unityplugin"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="25" />

    <application
        android:allowBackup="true"
        android:label="@string/app_name"
        android:supportsRtl="true" >
    </application>

</manifest>

//-----------------------
test.jar

package com.example.unityplugin;

public class pluginClass{
public static String getTextFromPlugIn(int Number){ return "Number"+Number}

}

PS 這兩個檔案丟到Asset/PlugIn/Android/lib底下
//-----------------------

PluginWrapper.cs



using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PluginWrapper : MonoBehaviour {

// Use this for initialization
void Start () {
        TextMesh textMesh = GetComponent<TextMesh>();
        ///<summary>packageName,className</summary>
        var plugin = new AndroidJavaClass("com.example.unityplugin.pluginClass");
        textMesh.text = plugin.CallStatic<string>("getTextFromPlugIn",7);
}
// Update is called once per frame
void Update () {
}
}