可以在終端直接運行
sudo nautilus
,彈出來的nautilus可以直接GUI操作,中途別關終端。
安裝各種 環境 庫 命令
sudo apt-get install +庫
文采不好,你們將就看一下吧,都是本人親測(之前也是繞了很多彎路)
虛擬機使用的是VMware 鏈接https://pan.baidu.com/s/12Y9IkG1eJkMd0ToeotodlQ 安裝的話自己百度一下
我此次使用的是mono-unity-5.6 (5.3也試了可以)
百度雲鏈接https://pan.baidu.com/s/1g1hMi1_I-8v_JFKa787UsA
Git鏈接 https://github.com/Unity-Technologies/mono/tree/unity-5.6
參考:
https://blog.csdn.net/qq_22393417/article/details/53406048
http://csftech.logdown.com/posts/452269-android-unity-encryption
https://www.cnblogs.com/lijiajia/p/7822571.html
試了一天windows下沒有編譯成功,果斷轉向linux
ubuntu版本16.04.5 32位 鏈接https://pan.baidu.com/s/1IPF3F8-AUFZNtbn6fN2AGg
虛擬機安裝ubuntu系統請自己百度 ubuntu打開終端命令Ctrl+Alt+T
裝好系統,先把屏幕設置成從不熄滅(自己找一下我忘了)
我這裝Vmware tools一直失敗,也沒去搞了,直接在ubuntu中打開自帶瀏覽器git了一份mono-unity-5.6 ,大概80M左右
完事后下載的是zip格式,找到把它手動復制到/Home/這個文件夾下面,之后解壓
Ubuntu 16.04 已經自動安裝了unzip 軟件,解壓命令:
unzip mono-unity-5.6.zip
2) 如果沒有安裝unzip,可以使用下面的命令安裝:
sudo apt install unzip
3) 安裝unrar軟件
sudo apt install unrar
4) 解壓rar文件:
unrar x FileName.rar
解壓完成后 打開終端 輸入cd mono-unity-5.6 敲回車,之后在輸入./autogen.sh 然后看提示缺什么庫就裝什么庫,最后出現
Now type ‘make’to compile這一行字的時候就代表基本全部都裝完了,還需要裝個git
懶得執行上一步可直接裝這些庫,這是我自己安裝的庫 automake libtool* bison glib2.0 git
打開終端輸入sudo apt-get install automake libtool* bison glib2.0 git 然后敲回車(libtool后面有個星號記得別丟了)
全部安裝完畢后,進入到/home/yourcomputername/external/buildscripts/build_runtime_android.sh點擊打開
找到perl ${BUILDSCRIPTS}/PreparAndroidSDK.pl -ndk=r10e -env=envsetup.sh && source envsetup.sh這句
這句可以看出NDK的是r10e,所以我們就遵循這個下載和修改ndk,如果需要編譯其他版本的libmono.so也是進入到這里看對應的ndk
之后就是配置待會即將下載的ndk環境了,按照網上說的手動下載對應ndk並配置,一直編譯不成功,所以這塊我就采用讓它自己下載
配置對應ndk環境
打開終端輸入gedit ~/.bashrc敲回車
在打開的文本最后一行敲回車然后輸入export ANDROID_NDK_ROOT=/home/yourname/android-ndk_auto_r10e 之后保存關閉
在終端輸入source ~/.bashrc敲回車
測試ndk是否配置成功,終端輸入 echo $ANDROID_NDK_ROOT敲回車,出現/home/yourname/android-ndk_auto_r10e代表OK
打包debug版本:
修改/home/yourcomputername/external/buildscripts/build_runtime_android.sh文件
把KRAIT_PATCH_PATH="${CWD}/../../android_krait_signal_handler/build"這句替換成
KRAIT_PATCH_PATH="${CWD}/external/android_krait_signal_handler/build"
注掉這兩句(不然會編譯很慢):
clean_build "$CCFLAGS_ARMV5_CPU" "$LDFLAGS_ARMv5" "$OUTDIR/armv5"
clean_build "$CCFLAGS_ARMV6_VFP" "$LDFLAGS_ARMv5" "$OUTDIR/armv6_vfp"
最前面加#表示注掉
例如:#clean_build "$CCFLAGS_ARMV5_CPU" "$LDFLAGS_ARMv5" "$OUTDIR/armv5"
弄好了之后把這個文件手動復制到mono-unity-5.6目錄下
打開終端輸入sudo ./build_runtime_android.sh敲回車,首先下載對應的ndk,然后就是等待。。。等出錯了再往后看
打包release版本:
修改/home/yourcomputername/external/buildscripts/build_runtime_android_x86.sh文件
把-fpic -g \改為-fpic \
修改/home/yourcomputername/external/buildscripts/build_runtime_android.sh文件
把KRAIT_PATCH_PATH="${CWD}/../../android_krait_signal_handler/build"這句替換成
KRAIT_PATCH_PATH="${CWD}/external/android_krait_signal_handler/build"
注掉這兩句(不然會編譯很慢):
clean_build "$CCFLAGS_ARMV5_CPU" "$LDFLAGS_ARMv5" "$OUTDIR/armv5"
clean_build "$CCFLAGS_ARMV6_VFP" "$LDFLAGS_ARMv5" "$OUTDIR/armv6_vfp"
把-fpic -g -funwind-tables \ 這句改成-fpic -O2 -funwind-tables \ (那個不是零是大寫的‘o’)
弄好了之后把這個文件手動復制到mono-unity-5.6目錄下
打開終端輸入sudo ./build_runtime_android.sh敲回車,首先下載對應的ndk,然后就是等待。。。等出錯了再往后看
會出一個C什么什么的錯誤(忘了),反正這個錯誤是最能出的,很煩,這兩天一直出這個
現在就告訴你怎么解決:
打開/home/yourcomputername/mono-unity-5.6/external/android_krait_signal_handler/build/build.pl這個文件
如果加鎖打開后不能保存,請使用終端打開
sudo gedit /home/yourcomputername/mono-unity-5.6/external/android_krait_signal_handler/build/build.pl
點上面的那個打開就可以選擇你的這個文件了,然后按下圖修改,修改完,保存,關閉
再次打開終端輸入sudo ./build_runtime_android.sh敲回車,出去抽根煙靜靜等待幾分鍾,就會出現Build SUCCESS!
恭喜你,成功了,然后去/home/yourcomputername/mono-unity-5.6/builds/embedruntimes/android下面那倆文件夾找自己需要的libmono.so拷出來吧
PS:記住一定要弄清ubuntu的文件路徑格式,每次終端輸入都要根據自己需要執行的文件路徑來