init_local_il2cpp_data.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. # 设置默认分支为2020.3.33,避免很多人忘了切分支
  3. IL2CPP_BRANCH=2020.3.33
  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='/Applications/Unity/Hub/Editor/2020.3.33f1/Unity.app/Contents/il2cpp'
  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. if [ ! -d "$MBE" ]; then
  29. cp -r "$IL2CPP_PATH/../MonoBleedingEdge" $MBE
  30. fi
  31. # 拷贝il2cpp目录
  32. IL2CPP=$LOCAL_IL2CPP_DATA/il2cpp
  33. if [ ! -d "$IL2CPP" ]; then
  34. cp -r "$IL2CPP_PATH" "$IL2CPP"
  35. fi
  36. # 接下来替换 il2cpp目录下的libil2cpp为 hybridclr修改后的版本
  37. # 需要使用 {https://gitee.com/focus-creative-games/il2cpp_plus}/libil2cpp 替换 il2cpp/libil2cpp目录
  38. # 需要使用 {https://gitee.com/focus-creative-games/hybridclr}/hybridclr 添加到 il2cpp/libil2cpp目录下,即il2cpp/libil2cpp/hybridclr
  39. HYBRIDCLR_REPO_DIR=hybridclr_repo
  40. IL2CPP_PLUS_REPO_DIR=il2cpp_plus_repo
  41. LIBIL2CPP_PATH=$LOCAL_IL2CPP_DATA/il2cpp/libil2cpp
  42. rm -rf "$LIBIL2CPP_PATH"
  43. cp -r "$IL2CPP_PLUS_REPO_DIR/libil2cpp" "$LIBIL2CPP_PATH"
  44. cp -r "$HYBRIDCLR_REPO_DIR/hybridclr" "$LIBIL2CPP_PATH/hybridclr"
  45. # 务必清除缓存,不然build仍然使用旧版本。
  46. # 只影响直接build的情况,不影响导出工程的情形。
  47. echo 清除 Library/Il2cppBuildCache 缓存目录
  48. rm -rf ../Library/Il2cppBuildCache
  49. echo 初始化成功