1.交互项目创建
1.1 知识点
Unity和Android交互指什么?
Unity和Android之间的交互主要指在发布安卓项目时,我们可以在Unity相关代码中调用Android相关内容,在Android相关代码中调用Unity相关内容。
要达到这样的目的,我们需要建立Android项目,将Android项目以jar包或aar包的形式导入Unity后进行交互,再一起打包。
jar和aar包是归档文件,jar包包含Android项目中的脚本文件和清单文件,不包含资源文件;aar包是Android Studio下打包Android工程中的src(脚本文件)、res(资源文件)、lib(库文件)后生成的打包文件。
用Android Studio打包时一般以aar包形式,用Eclipse打包时一般以jar包形式。
简单记忆:jar和aar有点类似C#中的dll文件,只是规则和结构不同,我们可以将这些包放到其他工程中使用。
我们这节课的主要目的就是创建之后用于生成aar包的Android Studio的工程,用于之后处理Unity和Android的交互逻辑。
创建Unity和Android Studio项目
创建Unity项目后,切换到Android平台,设置包名和Android版本
创建Android Studio
选择 Phone and Tablet,创建一个Empty Activity项目。
没有相同SDK要去下载。
包名和Minimum SDK版本要和Unity项目一致。若没有相同SDK版本,请在Android Studio中下载。
创建完成后,等待加载结束后,删除工程中两个Test项目以及res下的无用资源。删除包,要删两次。
配置build.gradle文件
在Android Studio中Project页签中切换为Project,展开工程名下app页签,打开build.gradle文件。
重要修改:
id 'com.android.application'
修改为id 'com.android.library'
。- 删除defaultConfig中的
applicationId
项。 - 点击右上角同步按钮 Sync Now。
导入classes.jar包
路径:Unity安装目录\Data\PlaybackEngines\AndroidPlayer\Variations\mono(il2cpp)\Release\Classes中。
将包拷贝到AndroidStudio中的app\libs下。
导入后选择包,右键点击 Add As Library。
导入UnityPlayerActivity脚本
路径:Unity安装目录/Data/PlaybackEngines/AndroidPlayer/Source/…。将路径下的文件夹拷贝到AndroidStudio中的app/src/main/java中。
修改MainActivity脚本
我们需要修改Android Studio中的MainActivity脚本:
- 改为继承UnityPlayerActivity。
- 注释onCreate函数中的setContentView代码。
- 添加两个自定义函数之后用于测试。
package com.tao.unityandroidtestgame;
import android.os.Bundle;
import com.unity3d.player.UnityPlayerActivity;
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
}
// 测试成员函数
public String TestFun()
{
return "String";
}
// 测试静态函数
public static String TestStaticFun()
{
return "TestStaticFun";
}
}
修改AndroidManifest.xml配置文件
- 删除application中的无用内容。
- 在activity中加入一句
<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>
。 - MainActivity的包名也可以补全,更加清晰。
生成Unity用的aar包
选中MainActivity脚本,选择 工具栏——>Build——>Make Moudle ….。
红字不是报错,是编码问题,再次点击Make Moudle就没有了。
如果打包aar包时出现了下载相关内容的字样,那么就需要多等待一会儿,下载完成过后一般就能够构建成功。
在output路径下找到打出来的aar包
总结
本节课制作的aar包,是用于和Unity进行交互的安卓包。操作的步骤不能有误,否则会影响之后的交互功能制作。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com