部署 Theos 越獄開發環境(ubuntu on windows)
前言
下文撰寫於 2017 年 04 月 30 日,當時的環境是 iOS 10.1.1 越獄、Windows 10。
本文無特別維護,故某些過程可能已不合時宜且有所缺漏,請酌情參考即可。
強烈建議於 macOS 系統下開發蘋果產品之應用程式,以免發生不必要的麻煩與問題。
正文
微軟在 Windows 10 上新增了一個 Beta 功能 —— Bash on Ubuntu on Windows
讓 Linux 的程式能在 Windows 上直接執行。
既然能使用 Bash,就來搭建一個 Theos 開發環境吧。
不過這個功能預設是關閉的,要手動開啟才行。
以下請看圖說故事。
設定 > 開啟開發人員模式
程式和功能 > 開啟或關閉 Windows 功能 > 適用於 Linux 的 Windows 子系統
重新啟動電腦
Win + S
呼叫出搜尋 > 輸入 bash > 執行
安裝 Ubuntu
輸入名稱和密碼
執行開始功能表裡的「Windows 上 Ubuntu 的 Bash」
右鍵 > 內容
調整一下字體,必須設定成中文字體
如果設定成英文字體,下次開啟時會自動跳回細明體
使用
sudo su
指令切換到 root 帳號輸入剛才設定的密碼
cd
指令為切換目錄指令使用
cd
指令切換到要安裝 Theos 的資料夾此處是採用 E:\Tweak\
所以輸入
cd /mnt/e/Tweak
/mnt/
後面那個小寫字母就是代表哪個槽,注意一定要小寫
安裝 git 程式
apt-get install git
使用 git 程式下載最新版本的 Theos 到剛才指定的資料夾
git clone --depth 1 --recursive https://github.com/theos/theos.git
設定環境變數
export THEOS=/mnt/e/Tweak/theos
此處路徑必須符合剛才指定的資料夾
下載最新版本的 Toolchain
並將 zip 檔放進 theos/toolchain 裡
安裝 unzip 程式
apt-get install zip
切換到 toolchain 資料夾
cd theos/toolchain
解壓縮 Linux 版 Toolchain
小技巧: Tab 鍵可以自動補齊路徑
輸入
unzip ios
……
再按下 Tab 鍵
檔名就會自動補齊了
下載 iOS 9.2 的 SDK
並將 zip 檔放進 theos/sdks 裡
目前只相容 9.2,編譯 10.1.1 的 tweak 沒什麼大問題。
切換到 sdks 資料夾
cd theos/sdks
解壓縮 SDK
修正 c++
cd /tmp
wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb
dpkg-deb -x libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb libstdc++
cp libstdc++/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /usr/lib/x86_64-linux-gnu/
cd /usr/lib/x86_64-linux-gnu/
ln -sf libstdc++.so.6.0.21 libstdc++.so.6
修正 makefile
下載 makefile-fixed-by-yuripe
在 Windows 下解壓縮並覆蓋 theos/makefile 資料夾
切回 Tweak 資料夾
cd /mnt/e/Tweak
安裝 make 程式
apt-get install make
至此,搭建環境完成
接下來試著編譯一個檔案
使用 Theos 新建一個 tweak 專案
$THEOS/bin/nic.pl
cd hello
資料夾名稱會是小寫
使用
make
指令編譯
編譯成功
參考資料: