将android移植到unity上

2018-07-11  本文已影响0人  Aptitude

将android项目移植到unity上,可实现android与unity的通信。本文主要介绍如何将android studio上的项目移植到unity上,并且实现android中activity与unity的通信。

1. 首先在android studio建一个项目,然后将unity中的接口包放到项目中。

接口包在unity的安装位置这里:

Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes

将clsses.jar放入android studio项目的app/libs中。

2.  修改MainActivity中的内容。

将MainActivity extends AppCompatActivity修改为MainActivity extends UnityPlayerActivity,去除setContentView(R.layout.activity_main),因为启动游戏的时候无需再显示出android本身的界面,只需要游戏界面即可。

同时需要注释掉import android.support.v7.app.AppCompatActivity;不然会报错。

3.  配置AndroidManifest.xml。

添加 <meta-data android:name="unityplayer.UnityActivity"  android:value="true" />

4.  修改styles.xml的配置。

Styles.xml在\app\src\main\res\values\styles.xml,将styles.xml中的内容写为

这是去掉对V7包的引用,否则在build的时候会报错。

5.  修改app下的build.gradle文件。

将apply plugin: 'com.android.application '修改为apply plugin:’com.android.library’;

将applicationId "com.example.a14750.gametest"注释;

删除compile 'com.android.support:appcompat-v7:25.0.0'

testCompile 'junit:junit:4.12'。

6.  实现android与unity的通信。

具体处理机制是这样的:首先会在android中写一个sendmessage()的方法,在unity中会调用写在activity中调用sendmessage()方法的方法,在unity中会写一个接收message的方法,这时这个接收方法中会接收到android发出的消息。

这是写在android studio中MainActivity中的一个方法:

这是写在unity中调用test()的方法语句:

这是写在unity中接收android发出消息的方法:

这样就可以实现通信了。

7.   Build apk提取出关键文件。

进行sync now然后进行build apk,完成之后取出\app\build\outputs\aar\app-debug.aar文件和\app\src\main\AndroidManifest.xml文件。用压缩软件打开aarapp-debug.aar文件并删除掉目录下的 \libs\classes.jar文件,不然移植到unity中因为重复会报错。

8.  打开unity项目,在Assets目录下新建Plugins\Android\,将取出的app-debug.aar和AndroidManifest.xml文件放入该目录下。

9.  配置unity中的必要参数。

在building settings中的Player Settings修改Bundle Indentifier为Android工程中AndroidManifest.xml下package的名称,修改Minimum API Level为Android工程对应的API级别,一定要保持一致。

(如果我的前后不一致请忽略,可能之后的项目给改回来了)

10.  生成Apk或者可执行文件。

上一篇下一篇

猜你喜欢

热点阅读