STF(Smartphone Test Farm)是一個Web應(yīng)用程序,用于從瀏覽器中遠(yuǎn)程調(diào)試智能手機(jī),智能手表和其他小工具。
一、功能:
1、支持的系統(tǒng):Android
(1)版本限制:2.3.3 (SDK 版本 10) to 9.0 (SDK 版本 28)
(2)Android Wear 5.1(由于權(quán)限問題不支持5.0)
(3)Fire OS, CyanogenMod,基于Android的發(fā)行版
(4)當(dāng)前任何功能都不需要root
2、從瀏覽器遠(yuǎn)程控制任何設(shè)備
3、管理所有掛機(jī)設(shè)備
二、環(huán)境要求:
- Node.js >= 6.9 (首選最新穩(wěn)定版)
- ADB
- RethinkDB >= 2.2
- GraphicsMagick (用來調(diào)整屏幕截圖的大小)
- ZeroMQ 自帶安裝,無需另行安裝
- Protocol Buffers 自帶安裝,無需另行安裝
- yasm 自帶安裝,無需另行安裝 (為了編譯 libjpeg-turbo)
- pkg-config 安裝后Node.js就可以找到自帶庫
1、通過brew安裝依賴:
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
2、目前僅提供Mac OS安裝方式,不提供Windows環(huán)境安裝
3、安裝stf
npm install -g stf
到這里,開始各種報錯了
比如:make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1

解決方法:
(1)清除緩存
npm cache clean --force
(2)將node版本降至 8.1.1
關(guān)于node版本管理工具nvm
4、安裝完成后,檢查下是否安裝成功了
stf doctor
安裝成功時的樣子

5、下載NPM 和 Bower模塊
先下載或者clone sft項(xiàng)目到本地,終端cd 到目標(biāo)文件夾,一次執(zhí)行命令行
npm install
npm link
6、開啟服務(wù)
rethinkdb
因?yàn)槟J(rèn)端口是8080,我已經(jīng)有其他服務(wù)被占用,所以另開一個端口
rethinkdb --bind all --http-port 9090

然后再開啟一個終端,執(zhí)行:
stf local

訪問sft本地鏈接:http://localhost:7100/#!/devices

無需注冊,直接填入name和E-mail即可
7、連接USB本地Android設(shè)備
首先獲取Android設(shè)備號

將Android設(shè)備添加至白名單
echo "0x2717" >> ~/.android/adb_usb.ini
一定要打開Android手機(jī)的開發(fā)者模式,否則無法掛機(jī)設(shè)備
打開USB調(diào)試及安裝,同意安裝STFSserver:




如果要指定IP(其他人也能訪問)
stf local --public-ip <本機(jī)網(wǎng)絡(luò)IP> --allow-remote