美文网首页
将android移植到unity上

将android移植到unity上

作者: Aptitude | 来源:发表于2018-07-11 23:05 被阅读0次

    将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或者可执行文件。

    相关文章

      网友评论

          本文标题:将android移植到unity上

          本文链接:https://www.haomeiwen.com/subject/xjwkpftx.html