前言
简单记录一下,方便后期第三方SDK做参考
一、在AndroidStudio创建空项目
二、创建空模块
复制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");
}
}
至此完结,打包验证
总结
出包才能测试,模拟器也可以测试。编辑器环境无法测试