作者:周可辰


1、 首先在Eclipse中创建一个Android工程UnityAndroidTest,并设置好包名。


在Unity中调用Android_第1张图片在Unity中调用Android_第2张图片


2、 在项目属性中添加classes.jar,在Unity的安装目录下:Editor\Data\PlaybackEngines\androidplayer\bin\


在Unity中调用Android_第3张图片


3、 修改UnityAndroidTestActivity.java如下:

package com.sleepyhippo.test;    import com.unity3d.player.UnityPlayerActivity;  public class UnityAndroidTestActivity extends UnityPlayerActivity {  private static final String TAG = "Compass";  static public float x;     public static float getX() {  x+=10.0;  return x;  }  


4、刷新一下工程,然后右键点击工程,选择Export,导出jar包。


在Unity中调用Android_第4张图片在Unity中调用Android_第5张图片


5 、打开Unity,新建工程UnityAndroidTest



在Unity中调用Android_第6张图片


6、 将刚才导出的test.jar和Eclipse中项目生成的AndroidManifest.xml和res文件夹复制到Unity工程中的Assets\Plugins\Android目录下(Plugins和Android需要自己新建)

在Unity中调用Android_第7张图片

这时,Unity中的Asset窗口如图:

在Unity中调用Android_第8张图片


7、新建一个test.cs,代码如下:

using UnityEngine;using System.Collections;using System; public class test : MonoBehaviour  { static float xValue;  // Use this for initialization void Start ()  { AndroidJNI.AttachCurrentThread(); } void Update() { if(Input.GetKey(KeyCode.Escape)) { Application.Quit(); } using (AndroidJavaClass cls_UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))  { using (AndroidJavaObject obj_Activity = cls_UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity")) { AndroidJavaClass cls_CompassActivity = new AndroidJavaClass("com.sleepyhippo.test.UnityAndroidTestActivity"); cls_CompassActivity.CallStatic("Init", obj_Activity); xValue = cls_CompassActivity.CallStatic<float>("getX"); } } } void OnGUI()  { GUI.Label(new Rect(Screen.width / 2 -200, Screen.height / 2, 400,100), "x = " + xValue.ToString()); } }

8、将test.cs拖到Main Camera下,如图:


在Unity中调用Android_第9张图片



9、 将项目转换为Android项目,并设置Bundle Identifier为Java中自己定义的包名:这里我用的是com.sleepyhippo.test


在Unity中调用Android_第10张图片



10、 点击Build,导出apk,并用豌豆荚安装到模拟器中,最终运行效果如下图:


在Unity中调用Android_第11张图片



在Unity中调用Android_第12张图片


以上内容参考了羽化前辈的文章:http://blog.csdn.net/libeifs/article/details/6791346




更多相关文章

  1. MixtureTextView 支持Android图文混排、文字环绕图片等效果
  2. eclipse无法导入Android工程的解决办法
  3. 在Eclips中更改Android工程中包的名字
  4. eclipse android 项目报错 ERROR: Unable to open class file
  5. Android工程的gradle版本和gradle plugin插件对应关系
  6. Android 手绘 - 支持保存为图片
  7. Android 的状态栏设置图片填充或者颜色填充

随机推荐

  1. android读取功能
  2. Android:LayoutAnimation、布局动画
  3. android进度条
  4. android自动更新新版模块(简单,实用)
  5. android webView与js交互
  6. android View的快照与屏幕的截屏
  7. Android修改输入法Enter的文本
  8. Android P图形架构之三屏异显实现
  9. 新说android launch mode
  10. 修改Android ListView字体和颜色