准备

环境:Ubuntu 18.04.4 LTS

Mono版本:mono-unity-2019.2-mbe

技巧:如果github速度慢,可以先拉到gitee上,之后到gitee上clone

注意:解压之后检查mono/external/bdwgc文件夹是否为空,是的话,到主干把bdwgc里面的内容全部down下来。

NDK版本:android-ndk-r16b-linux-x86_64

开始

1、卸载旧版本mono编译环境

sudo apt-get --purge remove mono-runtime

sudo apt-get autoremove

2、安装新版本mono编译环境      官网地址

sudo apt install gnupg ca-certificates

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list

sudo apt update

sudo apt install mono-devel

3、安装必要的工具

autoconf  automake  libtool  libtool-bin  git  cmake  python

4、为了方便后面执行脚本,获取mono文件夹权限:

sudo chmod -R 777 monodir

5、cd到mono/external/buildscripts下执行

./build_runtime_android.sh

<5.1>第一次执行的时候,会提示克隆mono-build-tools-extra这么一个文件,但貌似仓库已经没有这玩意儿了,这时直接Ctrl+Z强制结束就行了。

<5.2>接着再build一次会download roslyn-csc-linux,但一直busy,还是Ctrl+Z结束。

<5.3>将ndk解压到下面的路径

mono/external/buildscripts/artifacts/Stevedore/android-ndk-r16b

<5.4>将usr/bin目录下的libtool、libtoolize两个文件copy到下面的路径(无则新建)

mono/external/buildscripts/artifacts/Stevedore/built-tools/bin/

<5.5>再次执行

./build_runtime_android.sh

a few moments later...

release版本

默认编译出来的libmonobdwgc是debug版本,大小16M,是原版的3倍。

关于如何确定debug或release,可以用下面的命令查看

readelf -S libmonobdwgc-2.0.so

列出的信息中如果含有debug之类的就是debug版本库

网上有很多帖子里面都有如何编译release的方法,但这些方法在此mono中都不适用,估计是build.pl脚本有点问题,没有细看。

解决方案:先编译出默认的debug版本,然后手动strip,剥离掉debug部分。

查看build.pl可以发现android库的编译工具链在android-ndk-r16b/toolchains/arm-linux-androideabi-clang/bin

进入上面的目录,执行:

./arm-linux-androideabi-strip /home/shen/Desktop/build/libmonobdwgc-2.0.so

看到strip后的文件大小已经跟原版相仿了,并且其中已经没有debug之类的信息

把最终的libmonobdwgc替换到Unity安装目录,打个空包跑一下,暂无异常!

结束

导入加密代码,重新按照build流程来一次即可,过程不再赘述。

Ubuntu18.04下编译mono-unity-2019.2-mbe相关推荐

  1. caffe在ubuntu18.04下编译

    <!---title:caffe在ubuntu18.04下编译--> <!---keywords:caffe, build, ubuntu18,--> 原始引用地址:  [ca ...

  2. 20221218解决在Ubuntu18.04下编译Firefly的Core-3588J出现lz4的问题

    20221218解决在Ubuntu18.04下编译Firefly的Core-3588J出现lz4的问题 2022/12/18 15:37 解决方法:编译最新的lz4的dev分支! https://wi ...

  3. ubuntu18.04下编译mysql5.7源码

    1.安装ncurses,bison sudo apt install libncurses5-dev sudo apt install bison 2.下载openssl编译 git clone ht ...

  4. Ubuntu18.04下安装NVIDIA显卡驱动、docker、nvidia-docker;容器中编译安装opencv-4.4.0与darknet-yolov4并完成测试;容器封装镜像转移。2022

    记录一下第一次在CSDN发博客,欢迎大家光临~ 文章目录 前言 一.宿主机配置 1.安装Ubunntu18.04 64位系统 2.为宿主机系统更换国内软件源Ubuntu 官方源服务器在欧洲,国内访问很 ...

  5. ubuntu18.04下安装grafana6和简单使用

    ubuntu18.04下安装grafana6 环境 ubuntu18.04 下载 sudo apt-get install -y adduser libfontconfig1 # 使用wget 下载会 ...

  6. ubuntu18.04下hadoop安装与集群配置

    ubuntu18.04下hadoop安装与集群配置 hadoop安装_单机/伪分布式配置 环境 创建hadoop用户 更新apt 安装SSH.配置SSH无密码登陆 安装Java环境 安装 Hadoop ...

  7. 在Ubuntu18.04上编译SWASH模型

    在Ubuntu18.04上编译SWASH模型 SWASH模型 编译准备 源代码下载 Intel Fortran Compiler安装 MPICH库安装 其它 编译代码 本文内容参考了用户Mr.Zhen ...

  8. Ubuntu18.04下配置Nooploop UWB LinkTrack

    上位机的安装可以去Nooploop UWB LinkTrack官网,下载对应版本的安装包,安装即可,Ubuntu下下载Ubuntu_64bit的安装包,然后使用sudo dpkg -i ***.deb ...

  9. Ubuntu18.04下的PCL安装(摸爬滚打)

    目录 Ubuntu18.04下的PCL安装 1.先安装Qt5,X11,OpenGL 1)安装Qt5 2)安装x11 3)安装OpenGL 4)安装libglut-dev 2.安装VTK(直接把pcl依 ...

最新文章

  1. tHINKpHP认识---文件了解
  2. php如何获取ftp文件信息,FTP 得到文件树[php]
  3. sql int 转string_SQL智能代码补全引擎【sql-code-intelligence】介绍
  4. 水滴石穿C语言之编译器引出的问题
  5. sql mysql assoc和row_mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
  6. YACC、LEX、JAVACC-------常用的编译工具
  7. mysql 创建聚集索引_索引为什么会加快Mysql的查询速度?
  8. Digit-Sum(HDU - 5710)
  9. yasm,nasm的关系
  10. win10激活方法(无需下载)
  11. 人脸识别php程序,教你用PHP实现微信小程序人脸识别刷脸登录功能
  12. java 分号作用_java枚举类型中分号的用法
  13. 为什么Java小伙对JavaScript和Node.js如此兴奋?
  14. 冰冻三尺,非一日之寒。数据解析——xpath(2)
  15. Vue实现拖拽拼图滑块验证
  16. php mysql 表情录入_php + mysql 存入表情 【如何转义emoji表情,让它可以存入utf8的数据库】...
  17. 编译安装httpd服务
  18. 微信测试之本地接口测试-ngrok
  19. 无营业执照开通微信商家码0.38%费率商户自助提交步骤
  20. 孩子立刻就不玩游戏了,因为他找到更好玩的东西!

热门文章

  1. 一种四通道高精度IEPE加速度传感器控制器设计稿
  2. CodeForces - 750D New Year and Fireworks(模拟+滚动数组记录)
  3. Linux文件与文件系统的压缩(简述)
  4. 智能物流,让物流变得更加智能和高效
  5. 用计算机编程解决问题的一般过程教学反思,算法与程序计教学反思.doc
  6. 阿里巴巴笔试题,附带解析
  7. QCM2290 电量低于10% bcl 降频
  8. 英语写作中“可能的(不可能的)”的表达总结
  9. ios 10 部分App无法连接网络或网络错误
  10. python基础查缺补漏