安卓 drawable文件无法引用_Unity2019安卓环境配置

1.unity2019的打包方式和2018改变了很多。最近纠结了很久才搞出来,现在把遇到的坑分享下。

2.首先是环境配置。2019版本版本需要unityhub里面直接选择安卓环境然后自动下载下来。

a8d6a8d8a8dab00cbf6e7d6601a963fe.png

点击一键安装。安装完毕后可以新建一个空项目,然后打一个空的安卓包。

可能会遇到如下问题

2.1.第一次发布安卓时可能会报错“used-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library”

这是因为选择的API版本过低导致的。在Player Settings->Other Settings->Minimum API Level选择高于19的API即可。

a98fb9e5b0b159f3cdfeb43b3a3ad1b0.png

2.2.我在网上看到很多人遇到unity2019自带了构建安卓包的一切工具,可谓是非常方便(估计国外是这样),但这个构建过程(即gradle)需要临时从国外网上抓取一些资源,当这些资源抓不来的时候,整个构建过程会卡很长时间并以失败告终(错误信息会告诉你哪些资源没搞到),这个问题我没有遇到可能我挂的VPN,这个问题可以参考别人怎么使用镜像资源解决。

2.3有些时候如果一遍开着AndroidStudio 可能会有这个问题大概就是daemon.exe卡死了。这个问题需要重启Unity或者关闭As解决问题。

6bfcbf28ffed1b1e807495709084d048.png

以上问题处理了就可以打出安卓空包。

3.如果需要c#和Java进行交互在unity19.3以前是AS创建一个安卓Module,然后引用unity里面的classs.jar包新建一个Activty继承UnityPlayerActivity。最后生成class.jar包放到Unity的项目里面的Plugins/Android/libs,如果引用其他jar包和res资源都要放到Plugins/Android目录下。详细细节网上很多教程我就不多讲了,这里主要讲差异。

4.第一步在创建安卓module项目的时候需要引用unity的jar包 Unity2019在这个位置

Mac:

/Applications/Unity/Unity.app/Contents/PlaybackEngines/AndroidPlayer/VariationsmonoReleaseClasses

Windows:

C:Program FilesUnityEditorDataPlaybackEnginesAndroidPlayer/VariationsmonoReleaseClasses

b02bc8a0dbc799008e960dd28b9b1434.png

这个时候引用class.jar包后发现并有么有com.unity3d.player.UnityPlayerActivity这个类。因为19版本把UnityPlayerActivity类单独放出来了在这个位置EditorDataPlaybackEnginesAndroidPlayersrccomunity3dplayer

这个时候我们需要把这个文件拷贝到我们自己的安卓项目中方便我们进行修改。然后点击生成AS的Make Module生成jar包在这个位置buildintermediatesaar_main_jardebug复制到Unity2019然后打包

4.1可能会出现这个问题

原因:当Unity导入的aar或jar包名和项目包名一样的话,BuildConfig会出现冲突。

解决方法:在aar/jar的build.gradle中添加下面的代码禁止生成BuildConfig即可。

afterEvaluate { generateReleaseBuildConfig.enabled =false generateDebugBuildConfig.enabled =false

}

4.2.解决后重新生成可以用压缩软件打开生成的Jar包查看是否有BuildConfig。最后打包完毕后进入游戏。这里需要注意的是主要包名需要和安卓配置的包名一致,启动的AndroidManifest需要配置启动的Activity和自己的包里面的Activity一致。

4.3.19版本给我们了另外一种解决方案。我们在AS编译测试没问题了之后直接把自己写的JAVA代码放到Plugins/Android项目下面。然后删掉libs里面我们生成的class.jar包。让Unity自己去编译到一起。这里给一个官方的Demo可以看看:https://github.com/Unity-Technologies/uaal-example

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值