使用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)

3.png

这是因为BuildConfig重复了,那么这个重复的BuildConfig在哪呢?

也不难想,因为我们只放了一个jar,所以他只可能在jar中,那么我们怎么删掉这个BuildConfig呢?

其实jar是可以解压的,我们把后缀改为zip或者rar,然后再对其进行解压,会得到一个文件夹

4.png

它里面就有BuildConfig,然后我们删除它,再对文件夹压缩改名为jar,就可以解决这个报错了。

遇到的其他报错

1.如果你把放到Plugins/libs下的jar改名为那么就可能会遇到如下报错

2.png

其实就是jar名字冲突了,你需要改一个名字。

你可能感兴趣的:(使用Android Studio(AS)导出jar供Unity使用)