-
安装debian
- 系统设置中,启用开发者选项
- windows组件中,安装linux子系统组件
- app store中安装debian
-
安装编译工具
- 打开debian命令行
- sudo apt install build-essential zip unzip git bison
- sudo apt-get install git autoconf libtool automake build-essential gettext cmake python
-
下载相应的mono
- unzip到/home/xxxx-user
- 查看external/build/build-runtime-android.sh,查找ndk版本,这里是r10e
-
下载ndk
- 下载ndk的linux-x86_64版本
- unzip解压到/home/xxxx-user
-
设置ndk-root
- 修改external/build/build-runtime-android.sh
- 在前面添加 export ANDROID_NDK_ROOT=/home/xxx-user/ndk-r10e
- 修改CFLAGS -fpic -O2
- 修改KRAIT_PATCH_PATH="${CWD}/android_krait_signal_handler/build"
-
执行一次 编译
- 在mono根目录下执行 external/build/build-runtime-android.sh
- 这次不会成功
- 错误提示有可能在最开始,而不再最后(我一直再后面找错误,卡了很久)
-
修改android_krait_signal_handler/build/build.pl
- 把第一行中的 -w 去掉
- #use PrepareAndroidSDK; 这是注释掉,因为sdk校验在脚本中完成了,这里加上是冗余,而且会报错
- #PrepareAndroidSDK::GetAndroidSDK(undef, undef, "r10e"); 这里也注释掉
-
再次尝试编译,这次应该成功了,提示缺少什么,安装就行了。
- 在mono根目录下执行 external/build/build-runtime-android.sh
windows10利用linux子系统编译mono
zhmt
#1