赞
踩
简单记录一下,方便后期第三方SDK做参考
复制classes.jar至创建新模块的lib中,并加入设置Library,classes.jar文件来自你当前要使用的arr的Unity项目的Unityb版本编辑器中.如:E:\UnityBaseAll\2020.3.11f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Classes
UnityPlayerActivity.java文件放置到对应文件夹下,报红自行引用,UnityPlayerActivity.java文件来源同上,如:E:\UnityBaseAll\2020.3.11f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player
创建名为MainActivity.java文件,填入一下内容,参考创建工程自带的MainActivity.java文件,复制过来可以省事,记得修改package
这是自带的
以下是MainActivity 中的内容
package com.example.fortestarr; import android.os.Bundle; import android.widget.Toast; import com.unity3d.player.UnityPlayer; public class MainActivity extends UnityPlayerActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } /** 供Unity调用的显示Toast的函数,无返回值 */ public void MakeToast(String str) { Toast.makeText(UnityPlayer.currentActivity, str, Toast.LENGTH_SHORT).show(); } /** 供Unity调用的加法,有返回 */ public int AddTwo(int x,int y) { return x+y; } }
然后生成
要等一段时间,生成好了在这个位置
解压后取出这俩文件
其中AndroidManifest.xml删去
然后在Unity对应项目中创建UI
创建脚本TestArrClass
using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.UI; public class TestArrClass:MonoBehaviour { public Text msg; public Button toastBtn; public Button addBtn; public InputField input1; public InputField input2; private AndroidJavaObject jo; private void Awake() { toastBtn.onClick.AddListener(Toast); addBtn.onClick.AddListener(Add); } void Start() { jo = new AndroidJavaObject("com.example.fortestarr.MainActivity"); } private void Add() { msg.text = jo.Call<int>("AddTwo", int.Parse(input1.text), int.Parse(input2.text)).ToString(); } private void Toast() { jo.Call("MakeToast", "UnityCallToast"); } }
至此完结,打包验证
出包才能测试,模拟器也可以测试。编辑器环境无法测试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。