安卓接入Unity导出的模块
Posted open happy鸭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓接入Unity导出的模块相关的知识,希望对你有一定的参考价值。
安卓接入Unity导出的模块
我的app有一个需求是需要接入unity导出的程序,实现显示模型并且交互的功能。
首先新建一个activity,我这里命名为TestUnityActivity
然后需要将Unity导出的文件包添加到对应的android工程里面,需要导入的文件有libs文件夹下面的jar包,main文件夹下面是assets和jniLibs
然后在任意想要跳转的页面添加按钮和监听器,可以跳转到TestUnityActivity中
private void clikeAR()
button=findViewById(R.id.vidio_like);
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view)
Intent intent=new Intent(radio_player.this,TestUnityActivity.class);
startActivity(intent);
);
在TestUnityActivity中,可以通过变化参数来显示不同地模型呈现,前提是需要在unity中写好参数变换的脚本(此处设计unity中的脚本逻辑,不做解释)
UnityPlayer.UnitySendMessage("Main Camera","shows","bag");//第一个为固定参数,第二个是unity的脚本中的函数名,第三个是不同模型对应的参数
然后还需要添加返回的页面(可以不加):
@Override
public boolean onKeyDown(int i, KeyEvent keyEvent)
// 添加返回键返回 MainActivity
if(i == KeyEvent.KEYCODE_BACK)
Intent intent = new Intent(this, radio_player.class);//返回到上一个页面
startActivity(intent);
finish();
return super.onKeyDown(i, keyEvent);
在一些手机机型中该unity模块会被识别为游戏,因此返回键可能会被隐藏
以上配置完成就运行后就肯看到unity模块中的内容,但是有且情况会报错,显示UnityPlayerActivity.java不存在
解决方法:
进入unity导出的包,到这个目录下面
可以找到一个名字为UnityPlayerActivity的java文件,将这个java文件复制到一下目录下面就可以了
效果
Unity使用gradle接入sdk和打包
tips:本文基于Unity5.6.3f1和Android Studio2.3.3
白话几句
这几天小编需要游戏中接入微信的AndroidSDK,首先当前接入AndroidSDK主要有两种方式:
在安卓工程接入SDK导出jar/aar包到Unity中,在Unity中进行打包
Unity导出安卓工程,然后接入SDK,使用安卓工程打包
之前小编有第一中方式的经验(eclipse导出jar到Unity使用),然而在微信官方文档上看到如下的内容:
然后往下看到环境搭建部分:
Android Studio环境配置只用一句话,而Eclipse需要1,2,3,看到这里小编心动了(由于小编不是安卓开发者,果断选择相对简单的)。
Unity导出Gradle工程并在Android Studio中打开
在Unity Build Setting选项中进行如下选择
详细请查看Unity官方文档Gradle for Android
点击Export并且选择一个目录,出现如下错误:
是因为对应用进行签名之前才能导出,小编使用Unity自带的工具生成签名文件(当然也可以使用Android Studio生成)。步骤如下:
Player Setting -> Player Setting面板最下面点击Publishing Setting:
选中Create a new keystore…,
点击Brower Keystore,并且选择一个文件夹;
输入password,并且确认密码;
点击Alias,选中Create a new key
设置画红线的信息(其他为选填),点击Create Key;
再次点击Alias,选中上一步创建key(这里是key0),并且在Password填入刚才设置的密码;
进行签名之后,再次进行工程的导出即可正常导出。打开Android Studio选择Import project,选中之前导出的Gradle工程,出现如下界面:
对于那些强迫症的,可以选择OK,直接使用最新的
一般项目的话应该都是使用 local 的,所以这里应该 Cancel,在之后的弹窗中设置本地的Gradle Home即可。
项目在Android Studio中打开之后可能会出现如下错误:
这可能是由于网络原因导致的,在Android Studio中打开build.gradle文件,将”com.android.tools.build:gradle:2.1.3″改成一个可用的版本即可(可以新建一个Android Studio工程查看),然后删除第一行文字(否则文件将被下次导出覆盖),最后将生成的AndroidManifest.xml拷贝到Unity Plugins/Android下面即可(如需修改AndroidManifest.xml,请直接修改Unity中版本,然后重新导出工程)。
build.gradle
这个文件在Gradle工程编译打包的配置文件,详细说明请看android gradle配置详解 && Gradle for Android第一篇(从Gradle和AS开始)。
接入SDK
使用Gradle打包
可以选择在Android Studio中进行打包,在Android Studio右上角点击Gradle会弹出如下界面(所有可以执行的小任务,双击即可构建选中的任务)。
当然如果嫌弃Android Studio速度慢,也可以配置本地Gradle环境变量,使用Gradle命令行进行自动打包:
– 导航到工程的根目录下;
– 点击shift键同时按下鼠标右键,选择在此处打开命令窗口;
– 输入对应的gradle命令即可(Android Studio Gradle界面中所有出现任务)。
总结
Unity中进行开发,并且只提供与SDK对接的接口
Android Studio接入SDK并打包
上面的方式是项目获取了极大的灵活性,而且使用到自动构建神器(Gradle),为将来接入多个SDK多发布平台,修改build.gradle文件即可,最理想的情况下,甚至无需改动Unity工程。
以上是关于安卓接入Unity导出的模块的主要内容,如果未能解决你的问题,请参考以下文章