Unity Android插件制作和合并多个安卓插件

安卓插件制作
1.一个是继承UnityPlayerAcivity-适合只集合了一个安卓插件

2.一个是只有安卓代码,没有Activity-适合多插件集合

这里使用的Eclipse开发


第一种方式(适合只集合了一个安卓插件):
1.创建安卓项目
2.导入unity中的calss.jar文件
3.在主MainActiviy中继承 UnityPlayActivity
4.安卓项目主入口删除setContentView(R.layout.activity_main);  //如果不删除导出的apk默认启动这个Acitivity布局
5.选择src和Gen这两个目录里面的java代码到处为jar,scr目录是我们创建的java代码,Gen目录包含BuildConfig.java 和 R.java ,记录着配置代码和布局,如果插件不包含布局可不用导出,如果有布局,必须要导出,否者在打包的时候会报错

 

6.在Unity创建如下目录,将res和AndroidManifest.xml直接放到Android目录下,libs存放第三方jar库,AVProVideo是我们导出的jar包
res:里面包含了String,图标,如果要改变app图标,直接把res里面的图片替换即可

 

7.调用Android方法
AndroidJavaClass Activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
Activity.Call("方法名称");


第二种方式:(适合多插件集合)
如果Unity里面需要包含了多个安卓插件,Android目录将各个插件分类,例如:有四个插件,AvPro(视频播放插件),MySDK(自己创建的插件),Vufroia(高通插件),Android根目录不要有 res,Manifest.xml文件

 


技巧:打包的时候,会合并各个插件的Manifest.xml文件,
1.创建安卓项目
2.这里需要注意的是不需要主Activity,所以不需要继承UnityPlayerActivity,但是可以创建自己的Activity
3.创建java文件,在里面写自己需要的功能,如果功能需要Activity对象,这里建议使用传参数的方式传入-如何传入在C#调用方法的时候会说明
 
4.直接打包jar,这里我们只需要打包Test.java文件即可,命名为:UnityForAndroid.jar

 


5.将jar文件放到MySDK目录下:这里要说明下,这个插件里面并没有包含布局文件,也就没有了Activity,所以不需要Manifest文件和Res文件夹以及R.java文件
 
6.调用安卓方法:
//我们获取当前安卓类的currentActivity,也就是当面画面的Activity
AndroidJavaObject ActivityContext = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
//直接获取java对象
AndroidJavaObject Test = new AndroidJavaObject("com.space.unityforandroid.Test"); //包名+类名
//调用方法
Test.Call("ShowToast", ActivityContext);





  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值