Unity对接android正反两种接法

正向:Unity导出工程到android

Unity对接Android方法

新建一个Android工程

在Unity导出android项目

复制Unity的Editor目录下的classes.jar到app文件夹下的lib中,并添加为工程里的库

复制Unity导出项目的assets和jnilib,记得要删掉jnilib里的x86文件夹(不删也可以,但是对android没意义,还占包大小)

如果需要Unity的导出设置,则还需要复制androidmanfiest

新建一个Activity继承UnityActivity

androidmanfiest文件里要加上<meta-data android:name="unityplayer.UnityActivity" android:value="true" />

unity里这样写

jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

        jo = jc.GetStatic<AndroidJavaObject>("currentActivity");

activity里要这样改动(例子)

public class MainActivity extends UnityPlayerActivity {

    public static MainActivity currentActivity;

    @Override

    protected void onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        currentActivity=this;

    }

    public void testcall(){

        Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();

    }

    public static MainActivity getInstance()

    {

        return currentActivity;

    }

    public int myAdd(int a,int b)

    {

        return a+b;

    }

}

反向:android导出jar包给unity使用

android反向出sdk到unity

在unity下建立Plugins

Plugins下建立Android

Android下建立bin lib res三个文件夹(unity5.x以后后两个都没用了)

android导出jar包(自行百度,十分简单)

jar包放到bin目录下

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

主类写上你继承unityplayer的类

主题用notitlebar或者干脆不写,这样就不需要res文件

注意!!!!unity导出的包名一定要和android里写的完全一致,不然会报错找不到主类,这个我被坑过

互操作的部分参照网上教程就ok

然后其他的选项unityli调一下发布就可以了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容