正向: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调一下发布就可以了