UnityAlibrary uses thesame packageasthisproject: com.x program type already present:com.xBuildconfig

以前的Unity项目用的是低版本unity,Android交互用的eclipse里导出jar包的形式,最近项目准备升级新版本unity 2018.4 ,准备用新推出的gradle打包方式来用unity build游戏包apk。Unity2018 buildSystem还可以选internal 和gradle两种,但是到了unity2019就直接没有这个选项了,默认Gradle打包。没了解gradle打包的建议看下这个https://docs.unity3d.com/Manual/android-gradle-overview.html。
OK,一切就绪就开干吧,还是按照传统的模式来。eclipse太古老了,转Androidstudio。按照网上的方式引入unity用来交互的 classes,add as libiary,然后建自己activity,配置Androidmanifest,导出jar包或者aar包,这两种都可以。其实道理是一样的。aar就相当于带了一些资源文件夹。导jar包其实也一样。如果有用到res,libs等文件的地方对应的文件夹拷过来就可以了,这些都是最基本的交互,就略过不说了,主要说我遇到的一个坑
com.x program type already present:com.xBuildconfig,然后还给了我一个链接https://developer.android.com/studio/build/dependencies#duplicate_classes。大概是重复引用库。试过各种导包方式,这个错就是避开不了,后来请大佬调试了一上午,终于弄明白了。大概最终是这样。
Androidstudio 导出无论是aar或者jar包,解压jar包后会发现包含两个类在这里插入图片描述
,myactivity是自己建的包package(这个package可以自定义,里如com.mypackage.test)自己写javaclass,而buildcomfig是自动生成的,他的所属package包总会跟项目包名保持一致,在这里插入图片描述
在这里插入图片描述
,但是Untiy2018.4打包时也会在com.example.mytestjar下自动生成一个buildconfig.java,然后就会导致跟导出的jar包里的类冲突,解决方案是导出jar包后删除buildconfig.class用unity自动生成的那个在这里插入图片描述
简单贴下是怎么发现这个问题的吧。报错日志里看大概就是引用重复的问题, library uses the same package as this project: com.example.mytestjar,但是我的jar包极其简单没有任何引用库,曾自己试过将unity的包名改了在这里插入图片描述
改成com.example.mytest,但是这里没改。
在这里插入图片描述
这样仍然可以打包出来的。但是两个包名也就是装到手机上有两个app入口。。。。后来请大佬过来帮忙,眼光独特,把这里也改了。
在这里插入图片描述
这样子打包就成功了,运行测试,都是ok的。到这里就结束了么,并不是。。。因为这个只是治标不治本,因为这里已经把jar包导入过unity项目了,这时候的jar包里的buildconfig.class是属于com.example.mytestjar的(因为这个类是在as里导出jar包的时候生成的)。而在unity的andorid/plugin 底下和unityplayersetting=》other setting里把com.example.mytestjar改成com.example.mytest后再次打包的时候unity2018应该会自动生成一个com.example.mytest.buildconfig.class。这个跟原来的自带的不在一个package下。所以不冲突,就不会出现打包失败的问题了。所以直接在as里改包名是不行的。build的时候会在跟项目包名一样自动生成buildcofig。所以应该删除buildconfig,具体怎么删。。。我也不知道,第一篇博客,发了再说。日后补充。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值