init_local_il2cpp_data.sh 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/bin/bash
  2. # 设置默认分支为2020.3.33,避免很多人忘了切分支
  3. IL2CPP_BRANCH=$1
  4. rm -rf hybridclr_repo
  5. # clone hybridclr仓库,国内推荐用 gitee
  6. # git clone https://github.com/focus-creative-games/hybridclr
  7. git clone --depth=1 https://gitee.com/focus-creative-games/hybridclr hybridclr_repo
  8. rm -rf il2cpp_plus_repo
  9. # git clone https://github.com/focus-creative-games/il2cpp_plus
  10. git clone --depth=1 -b $IL2CPP_BRANCH https://gitee.com/focus-creative-games/il2cpp_plus il2cpp_plus_repo
  11. # 请修改为你所用Unity的il2cpp目录
  12. # 一般像这样
  13. # C:\Program Files\Unity\Hub\Editor\2020.3.33f1c2\Editor\Data\il2cpp
  14. # /Applications/Unity/Hub/Editor/2020.3.33f1/Unity.app/Contents/il2cpp
  15. IL2CPP_PATH=$2
  16. if [ ! -d "$IL2CPP_PATH" ] ; then
  17. echo "你未指定正确的il2cpp路径"
  18. exit 1
  19. fi
  20. LOCAL_IL2CPP_DATA=LocalIl2CppData
  21. if [ ! -d "$LOCAL_IL2CPP_DATA" ]; then
  22. mkdir $LOCAL_IL2CPP_DATA
  23. fi
  24. # Unity 打包时允许使用环境变量UNITY_IL2CPP_PATH自定义%IL2CPP_PATH%的位置
  25. # 但同时又要求同级目录包含MonoBleedingEdge,因此需要拷贝这两个目录
  26. # 拷贝 MonoBleedingEdge 目录
  27. MBE=$LOCAL_IL2CPP_DATA/MonoBleedingEdge
  28. rm -rf "$MBE"
  29. cp -r "$IL2CPP_PATH/../MonoBleedingEdge" $MBE
  30. # 拷贝il2cpp目录
  31. IL2CPP=$LOCAL_IL2CPP_DATA/il2cpp
  32. rm -rf "$IL2CPP"
  33. cp -r "$IL2CPP_PATH" "$IL2CPP"
  34. # 接下来替换 il2cpp目录下的libil2cpp为 hybridclr修改后的版本
  35. # 需要使用 {https://gitee.com/focus-creative-games/il2cpp_plus}/libil2cpp 替换 il2cpp/libil2cpp目录
  36. # 需要使用 {https://gitee.com/focus-creative-games/hybridclr}/hybridclr 添加到 il2cpp/libil2cpp目录下,即il2cpp/libil2cpp/hybridclr
  37. HYBRIDCLR_REPO_DIR=hybridclr_repo
  38. IL2CPP_PLUS_REPO_DIR=il2cpp_plus_repo
  39. LIBIL2CPP_PATH=$LOCAL_IL2CPP_DATA/il2cpp/libil2cpp
  40. rm -rf "$LIBIL2CPP_PATH"
  41. cp -r "$IL2CPP_PLUS_REPO_DIR/libil2cpp" "$LIBIL2CPP_PATH"
  42. cp -r "$HYBRIDCLR_REPO_DIR/hybridclr" "$LIBIL2CPP_PATH/hybridclr"
  43. # 务必清除缓存,不然build仍然使用旧版本。
  44. # 只影响直接build的情况,不影响导出工程的情形。
  45. echo 清除 Library/Il2cppBuildCache 缓存目录
  46. rm -rf ../Library/Il2cppBuildCache
  47. echo 初始化成功
  48. read -p "Press enter to continue" -t 10