使用Android Studio(AS)导出jar供Unity使
直接参考这位老哥的博客
https://www.jianshu.com/p/8256c0da444a
当然还是会有一些坑
5.png这边如果是AS的版本在5.0一下,那么导出的jar会在intermediates/bundles下面没有问题,如果在5.0以上那么导出的目录已经变为intermediates/packaged-classes。
我是用Unity2018.4.11c1打安卓包的,然后Build System选择了Gradle,我把导出的jar放到Plugins/libs下面之后会遇到如下报错
java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: Program type already present: com.zjlbest.SDK_Demo.BuildConfig
java.lang.RuntimeException: Duplicate class bitter.jnibridge.JNIBridge found in modules classes.jar (classes.jar) and unity-classes.jar (unity-classes.jar)
这是因为BuildConfig重复了,那么这个重复的BuildConfig在哪呢?
也不难想,因为我们只放了一个jar,所以他只可能在jar中,那么我们怎么删掉这个BuildConfig呢?
其实jar是可以解压的,我们把后缀改为zip或者rar,然后再对其进行解压,会得到一个文件夹
4.png它里面就有BuildConfig,然后我们删除它,再对文件夹压缩改名为jar,就可以解决这个报错了。
遇到的其他报错
1.如果你把放到Plugins/libs下的jar改名为<class.jar>那么就可能会遇到如下报错
2.png其实就是jar名字冲突了,你需要改一个名字。