IL2CPP需要NDK

Unity使用IL2CPP模式出安卓包时,需要用到NDK,如果没有安装则无法导出Android Studio工程或直接生成APK,本篇记录一下我下载NDK不同版本的填坑过程。

IL2CPP需要NDK

不能使用最新的NDK版本

NDK的大版本和小版本号都要一致

每个Unity版本要求的ndk版本对照表

Unity version NDK version
2018.4 LTS r16b
2019.4 LTS r19
2020.3 LTS r19
2021.1 r21d
2021.2 r21d

数据来源官网:https://docs.unity3d.com/Manual/android-sdksetup.html

下载NDK

我从google的官网手动下载的ndk19c,但和unity2019.3要求的小版本号不一致,会出现无法编译(见开篇的第二三图)。目前(2021-07-04))在google的官网上只提供了ndk19c的版本,并没有unity要的ndk19这个老版本。

下面介绍方法来获取Unity需要的ndk版本。

Unity2019和Unity2020要求的NDK19.0下载地址:https://dl.google.com/android/repository/android-ndk-r19-windows-x86_64.zip

手动修改ndk版本号

这个方法是修改ndk的属性文件,把版本号修改为unity要求的版本号,我这样修改后可以正常打出APK包,但是不确定是否会有其它副作用。

打开ndk的目录,找到source.properties文件,我从google官网下载的ndk19c版本号为:19.2.5345600,而unity2019要求的版本号是:19.0.5232133,使用文本编辑器修改版本号如下:

Pkg.Desc = Android NDK
Pkg.Revision = 19.0.5232133

通过Unity Hub来安装

Unity的原话是:

Unity 建议使用 Unity Hub 来安装 Android SDK & NDK Tools,以确保您获得正确的版本和配置。Unity 分别在 /Unity/Hub/Editor/[EditorVersion]/Editor/Data/PlaybackEngines/AndroidPlayer/ 下的 SDKNDKOpenJDK 文件夹中安装 Android SDK & NDK Tools 和 OpenJDK。

方法就是:打开Unity Hub,在安装 - 添加模块 - 勾选Android SDK和NDK,然后点击下一步即可。

不同版本的Unity要求的NDK版本和两者对应关系表(Unity NDK Version Match)的更多相关文章

  1. Unity 5.6 beta版本新特性

    http://manew.com/thread-98549-1-1.html 最新发布的beta版改进了编辑器和2D功能,图形性能更佳,加入新的视频播放器,并添加了对Facebook Gameroom ...

  2. Android 平台代号、版本、API 级别和 NDK 版本

    代号.标记和细分版本号 简要来说,Android 的开发是围绕着版本系列进行的,这些版本使用美味的点心名字(按字母顺序)作为代号. 平台代号.版本.API 级别和 NDK 版本 为方便起见,代号与以下 ...

  3. Unity3D 原来Unity比较新的版本支持中文

    注意: Unity 2018.2 以上版本才可以

  4. Cocos Creator 打包原生 Android 包该如何选择 NDK 版本?

    大家好,我是晓衡! 记得前段时间,在一些群里看到有小伙伴说 Cocos Creator 打包 Android 原生 APK 有问题:一种是构建失败,一种是运行起来报错. 晓衡也是有好长一段时间,没有碰 ...

  5. 最新Android系统版本与API等级对应关系表

    最新Android系统版本与API等级对应关系表 从Android官网拷过来的,方便查阅... 官网地址:https://developer.android.com/guide/topics/mani ...

  6. Git学习(二)——创建版本库、查看与回退版本

    一.创建版本库 版本库,又名仓库(Repository),可以简单理解为一个目录,这个目录里的所有文件可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者将来某 ...

  7. js,onblur后下一个控件获取焦点判断、html当前活跃控件、jquery版本查看、jquery查看浏览器版本、setTimeout&setInterval

    需求: input控件在失去焦点后直接做验证,验证通不过的话,显示相应错误.但是如果失去焦点后点击的下个控件是比较特殊的控件(比如,退出系统),那么不执行验证操作,直接退出系统(防止在系统退出前,还显 ...

  8. 长期支持版本(即不自动更新版本) - Flash Player 18.0.0.268

    无意中发现,适合不喜欢折腾的朋友. 下载链接:(官方:http://www.adobe.com/cn/products/flashplayer/distribution3.html) (分流:http ...

  9. 生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问

    记录一个耽误30分钟的一个坑: 生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问 报404错误

  10. 常见Linux服务器操作系统版本中自带的OpenSSL版本

    下表是常见服务器操作系统版本中自带的OpenSSL版本: 从上表可以看出,目前常用的服务器版本中,默认OpenSSL为1.0.2的只有Ubuntu 16.04 LTS.其他版本如果要升级OpenSSL ...

随机推荐

  1. 拒绝了对对象 ‘GetTips‘ (数据库 ‘vipsoft‘,架构 ‘dbo‘)的 EXECUTE 权限

    SQL Server 2016 安装 数据库-属性-权限-选择用户或角色-勾选执行权限即可.

  2. logback.xml 配置文件

    logback.xml <?xml version="1.0" encoding="UTF-8"?> <configuration> & ...

  3. drf-jwt配置文件 jwt签发认证源码分析 自定义用户签发认证 simpleui后台管理美化 权限控制 (acl、rbac)

    目录 昨日回顾 接口文档 自动生成接口文档 接口文档必备的内容 cookie-session-token发展史 token原理 base64 快速签发 定制返回格式 jwt的认证 drf-jwt配置文 ...

  4. 深入了解浮点运算——CPU 和 GPU 算力是如何计算的

    随着国家大力发展数字经济,算力的提升和普惠变得越来越重要.在数字化时代,算力已成为推动科技发展和创新的关键要素.它不仅仅是衡量计算机处理速度的标准,还涉及计算机系统或设备执行计算任务的能力.数据处理能 ...

  5. 你不知道的vue3:使用runWithContext实现在非 setup 期间使用inject

    前言 日常开发时有些特殊的场景需要在非 setup 期间调用inject函数,比如app中使用provide注入的配置信息需要在发送http请求时带上传给后端.对此我们希望不在每个发起请求的地方去修改 ...

  6. Deltix Round, Summer 2021 Div1 + Div2 A~E

    比赛链接:Here 1556A. A Variety of Operations 注意到2, 3操作不改变总和,1操作使得总和加上了一个偶数,故直接判断总和是否为偶数即可.如果和为偶数,只要判断c和d ...

  7. Java | VS Code 如何导入外部 jar 包源

    Java Extension Pack里的Project Manager for Java扩展,安装后在文档查看的下方会有"JAVA PROJECTS",在Referenced L ...

  8. Problem A - Sequence with Digits (数学推导)

    题意: 已知 \(a_1\) 求 \(a_k\) ,推导公式见题面. #include<bits/stdc++.h> using namespace std; typedef long l ...

  9. Android 原生 SQLite 数据库的一次封装实践

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/CL4MsQEsrWS8n7lhXCOQ_g作者:Li Bingyan 本文主要讲述原生SQLi ...

  10. 一次完整的HTTP服务过程