unity for android 开发

1. 官方参考文档 http://docs.unity3d.com/Manual/PluginsForAndroid.html

2. Unity 5.4.0f3 (64-bit) 配置android 的开发环境(插件的导入)

2.1 在Assets/Plugins/Android目录结构中,AndroidManifest.xml文件放在Android文件夹中unity则会默认使用该配置文件,Unity中的Player Settings 则不用配置。


2.2 插件资源文件必须放在Assets/Plugins/Android目录的子文件夹中,文件夹名称自取如myRes。插件需包含android工程的资源文件res及其包含的内容,AndroidManifest.xml,project.properties(指明android.library=true)。android library 工程{android}/bin 目录中的jar包文件,需要放在Android目录下,与myRes同级。


 
2.3 unity c# 脚本文件

using UnityEngine;
using System.Collections;
using System;

public class testActivity : MonoBehaviour {

    // Use this for initialization
    void Start () {
        print("------- start() is called!");
    }
    
    // Update is called once per frame
    void Update () {
        //当用户按下手机的返回键或home键退出游戏
        if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Home) )
          {
            Application.Quit();
        }
    }

    // 使用gui创建按钮
    void OnGUI() {

        //print("------------- OnGUI() is called!");

        if (GUILayout.Button("OPEN Activity01", GUILayout.Height(100)))
        {
            print("------------- OPEN Activity01 -------------");

            using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
                //注释1
                AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");

                Debug.Log("message from java: " + jo);
                Debug.Log(jo.Call<AndroidJavaObject>("getCacheDir").Call<string>("getCanonicalPath"));
                jo.Call("startActivity0", "第一个Activity");


                // 这种方式获取到类,只能调用静态方法
                //AndroidJavaClass myClass = new AndroidJavaClass("com.fenghun.unitytestactivity.UnityTestActivity");
                //myClass.CallStatic("test");
                
                // 这种方式实例化的对象,不具有activity的上下文属性
                //AndroidJavaObject myJO = new AndroidJavaObject("com.fenghun.unitytestactivity.UnityTestActivity");
                //myJO.Call("startActivity0", "第一个Activity");//
            }

        }
        if (GUILayout.Button("OPEN Activity02", GUILayout.Height(100)))
        {
            print("------------- OPEN Activity02 -------------");
            using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {

                AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");


                //AndroidJavaObject jo = new AndroidJavaObject("com.fenghun.unitytestactivity.UnityTestActivity");
                //jo.Call("startActivity1", "第二个Activity");
                jo.Call("startActivity1", new object[] { "第二个Activity" });
            }
                
        }

    }

}

示例工程源码链接:http://download.csdn.net/detail/fenghun5987/9610780

参考链接:

http://forum.unity3d.com/threads/obsolete-providing-android-resources-in-assets-plugins-android-res-is-deprecated.315889/

http://www.xuanyusong.com/archives/667









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值