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/ 下的 SDK、NDK 和 OpenJDK 文件夾中安裝 Android SDK & NDK Tools 和 OpenJDK。
方法就是:打開Unity Hub,在安裝 - 添加模塊 - 勾選Android SDK和NDK,然后點擊下一步即可。