当前位置:   article > 正文

Unity中实现Unity与Android交互_unity-classes.jar 源码

unity-classes.jar 源码

一:前言

在Unity编辑器下无法测试,必须打包到真机上测试


二:Unity调用Android的jar包

——新建一个安卓工程并配置基本信息


——新建Module和Class并编写代码

  1. package com.example.test;
  2. public class Test {
  3. public static int Sum(int a,int b)
  4. {
  5. return a+b;
  6. }
  7. }


——点击Build—Make Project,生成成功后找到jar包并复制到Unity工程中


——编写Unity调用Android代码

  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. public class Test : MonoBehaviour
  4. {
  5. AndroidJavaClass jc;
  6. AndroidJavaObject jo;
  7. public Text txt;
  8. private void Awake()
  9. {
  10. jc = new AndroidJavaClass("com.example.test.Test");
  11. txt.text = jc.CallStatic<string>("Sum", 1, 2);
  12. //jo = new AndroidJavaObject("com.example.test.Test");
  13. //txt.text = jo.CallStatic<string>("Sum", 1, 2);
  14. }
  15. }

——调用Android中的静态方法:CallStatic
——调用Android中的非静态方法:Call
——获取Android中的静态字段:GetStatic
——设置Android中的静态字段:SetStatic
——获取Android中的非静态字段:Get
——设置Android中的非静态字段:Set

AndroidJavaClass和AndroidJavaObject区别
AndroidJavaObject可以访问静态和非静态,可以理解为new一个对象
AndroidJavaClass只能访问静态


三:Android中调用Unity方法 

 ——新建一个安卓工程并配置基本信息


——导入Unity库:
将Unity中的库文件Classes.jar导入到安卓工程目录下的libs文件夹中

Classes.jar位置:xxx\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes 


——将Unity库文件添加到模块中


——编写Android调用Unity代码

  1. package com.example.test;
  2. import com.unity3d.player.UnityPlayer;
  3. public class Test {
  4. public int SumAndShowLog(int a,int b)
  5. {
  6. UnityPlayer.UnitySendMessage("Canvas","ShowLog","hi log");
  7. return a+b;
  8. }
  9. }

第一个参数是方法所在脚本挂载的游戏物体名,第二个参数是方法名,第三个参数是传入的参数(只能传一个字符串参数) 


 ——点击Build—Make Project,生成成功后找到jar包并复制到Unity工程中


——Unity中的脚本

  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. public class Test : MonoBehaviour
  4. {
  5. AndroidJavaObject jo;
  6. public Text txt;
  7. public Text txt_show;
  8. private void Awake()
  9. {
  10. jo= new AndroidJavaObject ("com.example.test.Test");
  11. txt.text = jo.Call<string>("Sum", 1, 2);
  12. }
  13. void ShowLog(string str)
  14. {
  15. txt_show.text = str;
  16. }
  17. }

四: 


 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号