[Unity与Android Studio交互] 快速生成正确的jar库(图文解释)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33000225/article/details/54719777

本文以在Unity手游里弹出安卓的Toast提示为例。


Unity本身没有自带Toast.makeText()的接口方法,但是这个小功能又是我们做手游开发的时候经常需要用到的。这时候我们可以利用Android Studio或者Eclipse导出jar库,在里面提供弹出Toast方法给Unity调用。

网上很多文章都是使用Eclipse,因为Eclipse在菜单栏就提供了简单导出.jar文件的工具。但现在做安卓开发普遍使用Android Studio,而遗憾的是AS没有这样的工具,需要另外的方法。一种方法可以参考:

http://blog.csdn.net/kuerjinjin/article/details/50177633

里面同样详细写了Unity与AS交互的过程,以及在Unity里接入Toast功能的详细步骤,建议参考。但是里面的导出jar库的方法,我这里却老是出问题,而最后也自己摸索出一种简单快捷生成正确的jar库的方法。


在讲解该方法前我先提一下生成jar库并导入了Unity项目后,打包apk时常见的一种错误

CommandInvokationFailure: Unable to convert classes into dex format.





这个错误说明从AS项目里复制到Unity项目里的东西,Unity的classes.jar里面有些class跟复制过来的jar库里面一些class重复了,即上面提示的"already added"。这也就是说明在AS里面导出的jar库出错了。


好了,现在终于要讲解一下怎么简单快捷的导出正确的jar库了:

1、按照上面的链接文章修改好MainActivity后,进入安卓项目/app/build/intermediates/classes/debug下找到com文件夹,复制到其他位置,为了方便我直接放到Unity的/Assets/Plugins/Android/bin下。

2、然后进入com文件夹一直到最里面,会见到很多*.class文件。这时把上面错误提示"already added"的.class文件全部删掉。(我 懒得一个个对,直接剩下MainActivity.class和MainActivity$1.class两个)。


3、删除完毕后,通过命令行cmd进入/Assets/Plugins/Android/bin,运行命令jar cvf myclasses.jar com\


(注意myclasses.jar的名字可任意命名,后缀为.jar即可)

这样就把jar库成功生成了。而且也不会出现上面说的错误了!最后把com文件夹删除。


上面的导出jar库的方法应该是可以替代上面链接文章里提供的导出jar库的方法。而其余的步骤可以直接参考该文章。



猜你喜欢

转载自blog.csdn.net/qq_33000225/article/details/54719777