安卓的页面就是Activity,unity只有一个主页面MainAcitivity。
联合原理:使用安卓提供Pulus 给unity 。
有三种联合方式:
第一种:使用安卓导出的jar包(jar包相当于类库)。
第二种:使用导出aar包(aar包相当于类库加资源文件)。
第三种:使用C# 在unity 自己实现对安卓的调用,比较推荐前两种。
第一种:Jar方式
第二种:Aar方式
第三种:C#Unity调用方式
下载androidStudio,安装,java环境等,这里就略过了,如果有不会的小伙伴可以去寻找相关的教程。
1. 创建一个空项目,Empty Activity。
2. 项目设置
3. 创建完成
经过上边几步,我们已经可以创建出一个标准的安卓项目
1. 接下来创建一个新的模块
2 选择安卓库,点击next。
3 配置库信息
4 没有activity是对的,接下来我们创建一个activity
1. 给库创建空的Activity
2. 设置MainActivity ,名字不要改。
3. 我们要是用unity的布局所以要删除掉Acitity中的布局。
创建好我们的模块后删除掉创建的Activity 布局,并且在Activitiy中交布局代码删掉,选中按键盘Delete或右键删除
8. 删除库MainActivity中的 (activity)代码。
1. 在unity安装目录下好到Classes.jar包。(选择unity 搜索classes.jar ,有四个选择Release中的那个)
2. 复制到mylibrary,并且添加引用,如图:
1. 打开我们的AndroidManifest.xml 可以看到什么也没有,如图:
AndroidManifest.xml :是一个类似清单的东西,权限配置,页面配置等。在这里会讲要用到的内容,可以不用管
AndroidManifest.xml是Android应用的入口文件,它描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)
2. 我们可以在 app 中的了解下相关AndroidManifest 的配置,如图:
登录后复制
//定义android命名空间,一般为http://schemas.android.com/apk/res/android,这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。
//指定本应用内java主程序包的包名,它也是一个应用进程的默认名称
//一个AndroidManifest.xml中必须含有一个Application标签,这个标签声明了每一个应用程序的组件及其属性(如icon,label,permission等)
//android:icon 这个很简单,就是声明整个APP的图标,图片一般都放在drawable文件夹下
//supportsRtl:声明你的application是否愿意支持从右到左(原来RTL就是right-to-left 的缩写)的布局。targetSdkVersion设置为17或更高,各种RTL的API将被激活,系统使用您的应用程序可以显示RTL布局。
android:theme 是一个资源的风格,它定义了一个默认的主题风格给所有的activity,当然也可以在自己的theme里面去设置它,有点类似style。
activity android:name 该属性表示Activity的类名。
<intent-filter/>是每一个Activity对应的过滤器标签节点。每一个过滤器里面的元素可以有:
action很简单,只有android:name这个属性。常见的android:name值为android.intent.action.MAIN,表明此activity是作为应用程序的入口。有关
category也只有android:name属性。常见的android:name值为android.intent.category.LAUNCHER(决定应用程序是否显示在程序列表里)
想了解更多可以参考:任意一个
3. 将app 中的配置 放到我们的库配置里
删除不用的后,添加一个meta-data 元素,在这里大家不用管为什么。凡是在做unity联合的时候都要做这步
登录后复制
<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>
meta-data 的介绍:
4. 最终我们的配置:修改完成后我们的AndroidManifest.xml
小知识:首字母没有大写不会有代码提示,写入包里有改方法会自动添加包
首先,把我们项目的MainActivity 中的继承改成我们的 unity 库 里的UnityPlayerAcitivty 继承。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删