Unity导出安卓踩坑笔记

1.选择导出成Eclipse还是Android Studio?

强烈建议导出成Android Studio!!!我在跟台湾对接SDK时他们那边给的SDK是aar,而我以前学过eclipse但是没有接触过Android Studio。为了能够尽快完成任务,我选择使用我熟悉的Eclipse来工作。于是噩梦开始了…
首先我们遇到的aar需要将它解压,创建一个文件夹把它里面的jar文件放到libs文件夹下,然后做成library,再引入工程中,这个可以自行百度。
然后由于谷歌的包巨大无比几十M,导致超出了Eclipse的最大限制,无法打包APK,于是我开始删减谷歌的jar包,把谷歌地图等class文件删除(当然还删除了其他一些我以为无关紧要的class文件,最后跑项目出现报错闪退了,无奈恢复谷歌原版的Jar包吧)
然后又是引入了Eclipse不含有的布局constraint,只能把它换成LinearLayout了
再来就是台湾那边需要加入firebase,它已经很多年前不支持Eclipse了,办法也有,但是需要麻烦台湾技术也跟着一起改变json文件读取,等等问题
最后我无奈只能选择使用Android Studio重新搭工程。

Android Studio踩坑!

这东西贼坑就坑在输出的bug贼不明显,要自己去运行命令,一般能看到的bug是下面这样的:
在这里插入图片描述
反正错误一大堆,具体是什么,我也不知道。
最后经验总结直接看第一行,比如这个就是app:transformClassesWithMultidexlistForDebug
然后去Terminal中输入gradlew transformClassesWithMultidexlistForDebug,看堆栈,找问题
一般就是一些代码的,xml的,build.gradle的问题之类的,都会有指定的程序去运行一下看结果。

再来一个坑:安卓P不支持直接使用HTTP或者HTTPS,要在application中加入android:usesCleartextTraffic="true"否则会报eption: Cleartext HTTP traffic to XXX not permitted

导入的jar包文件太大会报一个Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchive
要在app层的build.gradle的defaultConfig中加上multiDexEnabled true

Unity申请权限延后弹出

一般情况下打开游戏后Unity会立马申请需要的权限(读写,录音等),但是因为SDK中用到的是动态申请这些权限,而如果在游戏一开始就申请则可能会在谷歌审核的时候被拒。
解决办法:
在Xml清单文件中加入

<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />

Unity版本选择

强烈建议开发版本为2017.4之后的版本,在此之前的版本都不支持打出64位的包。而谷歌目前要求必须出64位的apk才能允许在2019.8月之后提供更新apk的服务!

一些Gradlew命令

gradlew assembleRelease --出包

如果将unity作为library引入需要以下步骤

  1. File/New/Import Moudle
  2. 将unity的gradle applicationId删除
  3. 设置apply plugin: ‘com.android.library’
  4. 主工程引入implementation project(path: ‘:sdkdemo’)
  5. 删除unity androidManifest中的activity标签页
  6. 主工程androidManifest.xml appliaction中设置
 <meta-data android:name="unityplayer.UnityActivity"
            android:value="true" />

安卓文件路径注意事项

千万不要使用反斜杠进行文件路径操作,否则将可能出现如下情况:强烈建议使用/在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值