ubuntu 编译 mono unity-2018.4

0.先搞一个虚拟机
1.安装linux (我用的是 ubuntu 14.04 32位 划重点 32位 少不少坑)
2.sudo passwd root (设置一下root的密码,方便下面切到到root权限,这样后面操作很方便)
3.su – (切换到root账号)
4.如果 apt-get 下载插件慢的话(配置一下资源地址 /etc/apt/sources.list) 将下面的复制到sources.list 然后执行一下apt-get update
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
5.用xshell ssh去连接 虚拟机 当然也可以不用这步,只是为了方便操作,虚拟机用不习惯
(1).第一件事情,互ping,若都能ping通,则没有问题。
(2).在虚拟机中的linux 终端 输入 ssh localhost
(3).若出现
ssh: connect to hostlocalhost port 22: Connection refused
则表示没呀安装ssh 反之则直接启动
(4).安装 命令如下
sudo apt-get install –y openssh-server
(5).启动 命令如下
service ssh start
(6).检查 命令如下
ps –e | grep ssh
若出现 : 6455 ? 00:00:00 sshd 则表示端口已经ok 启动成功
(7).然后用xshell 连接 即可
6.开始正式搞
(1)先下载你要的mono版本,我用的是unity-2018.4,git上下载很慢,网上有一种方法 将github上的资源,弄到码云上,在从码云上down下来,快的飞起 我用自己的处理好的地址
git clone -b unity-2018.4 https://gitee.com/GKismet/mono.git

(2)下载完 执行 mono目录下 autogen.sh 文件,检查缺少的工具,并安装他,然后在执行 autogen.sh,直到出现 Now type ‘make’ to compile 说明 工具全了。

QQ图片20200204165157

(3)先设置好android_ndk_root的环境变量
vi ~/.bashrc
123
在最后加入上图的这个配置,地址可以自己定
然后 source ~/.bashrc 起效
输入echo $ANDROID_NDK_ROOT 如果打印了说明起效了

(4)执行在mono根目录下执行 ./external/buildscripts/build_runtime_android.sh
1.第一次会失败 看一下config.log 里面的问题,
2.arm-linux-androideabi-gcc: error: unrecognized command line option ‘-V’ 这个问题困扰我好久,解决方法是修改 build_runtime_android.sh 文件
-L${KRAIT_PATCH_PATH}/obj/local/armeabi -lkrait-signal-handler 改成下面
-L${KRAIT_PATCH_PATH}/obj/local/armeabi-v7a -lkrait-signal-handler
(5)修改 android_krait_signal_handler/build/build.pl 文件,在mono目录 ../../的位置
1.第一行 #!/usr/bin/env perl -w 改成 #!/usr/bin/perl -w
2.把 PrepareAndroidSDK::GetAndroidSDK(undef, undef, “r16b”); r16b 改成 r10e
(6)然后在执行第4步的操作
讲道理就好了