Unity資源檢測(Asset Checker)工具

用于本地資源檢測讳推,幫助開發(fā)者盡早發(fā)現(xiàn)資源文件中存在的問題

  • 支持所有版本的Unity項目
  • 不依賴Unity Editor,無需安裝綠色運行
  • 檢測速度極快强戴,可在UPR中查閱檢測結(jié)果
  • 支持命令行模式脆贵,可與CI/CD工具輕松集成,實現(xiàn)自動化檢測
  • 規(guī)則庫持續(xù)更新
  • 支持AssetBundle冗余檢測
  • 支持靜態(tài)代碼分析
    Asset Checker 官方教程地址(包含工具下載地址)

資源檢測

  1. 生成配置文件放可。

assetcheck.exe generate-config

  1. 檢測Unity工程谒臼。

assetcheck.exe --project=<project_path> --projectId=<project_id>


<project_path>為Unity工程所在路徑,<project_id>為UPR項目Id耀里。
<project_id>非必需項蜈缤。如果填寫了<project_id>,檢測結(jié)束后备韧,可直接在UPR網(wǎng)站該項目內(nèi)查看檢測結(jié)果。
UPR項目創(chuàng)建方式可參考UPR App 使用手冊痪枫,步驟2织堂。點擊ProjectId可以快速拷貝。

  1. 查看檢測結(jié)果奶陈。
    直接打開rule_report.yaml文件查看易阳。
    或者登陸UPR網(wǎng)站查看。
    在檢測時如果填寫了<project_id>吃粒,檢測結(jié)束后潦俺,可直接在UPR網(wǎng)站該項目內(nèi)查看檢測結(jié)果。
    UPR網(wǎng)站支持離線「上傳資源檢測文件」徐勃∈率荆可直接將assetcheck文件夾內(nèi)的assetcheck_result.json文件上傳,查看檢測結(jié)果僻肖。

點擊「詳情」肖爵,可查看資源檢測的詳細(xì)結(jié)果。


image.png

4.設(shè)置待檢測資源的路徑范圍
assetcheck支持通過命令行參數(shù) --includePaths 和 --excludePaths 來控制待檢測資源所在的文件夾集合
(注意臀脏,此參數(shù)中填入的路徑分隔符在1.10.2版本之前不會被自動轉(zhuǎn)換為操作系統(tǒng)默認(rèn))

例1:此時僅有Assets目錄(及子目錄)下的資源會進(jìn)入檢測劝堪,其余資源會被忽略

assetcheck.exe --project="C:\unity\sample201904" --includePaths="Assets"

例2:此時Assets目錄下Scripts和Scenes這兩個子目錄中的資源會被忽略,其他Assets下的資源會進(jìn)入檢測

assetcheck.exe --project="C:\unity\sample201904" --includePaths="Assets" --excludePaths="Assets\Scripts,Assets\Scenes"

例3:--excludePaths單獨也可以發(fā)揮作用

assetcheck.exe --project="C:\unity\sample201904"  --excludePaths="Third-party-repo,Assets\Lib"

(此外注意揉稚,AssetChecker默認(rèn)已經(jīng)將項目根目錄下的Package和Library目錄忽略)

AssetChecker還支持在config.yaml中對某類別的規(guī)則或者某條具體規(guī)則設(shè)置生效的路徑范圍秒啦,配置的生效優(yōu)先級為:規(guī)則 > 類別 > 項目,高優(yōu)先級的配置會直接覆蓋低優(yōu)先級

例4:當(dāng)項目級別(命令行參數(shù))和規(guī)則設(shè)置中都配置了includePaths或者excludePaths時搀玖,對于”Video size limit“這條規(guī)則余境,僅有它自己的路徑范圍設(shè)置生效,即Assets/Video下的除了CGExport外的資源將參與檢測灌诅;對于所有其他規(guī)則葛超,則適用項目級別的配置,即Assets目錄下的資源都被跳過

assetcheck.exe --project="C:\unity\sample201904"  --excludePaths="Assets"
(...)
- category: Video
  enabled: true
  includePaths: Assets/Included_0,Assets/Included_1
  excludePaths: Assets/Ignored_0,Assets/Ignored_1
  rules:
  - name: Video size limit
    description: Size of imported video should not over limit, default at 256MB
    includePaths: Assets/Video,Assets/VideoClip
    excludePaths: Assets/Video/CGExport
    enabled: true
    platform: All
    customParameters:
      sizeLimit: 256

5.指定服務(wù)器地址
對于購買了UPR企業(yè)版的用戶延塑,可以通過--serverIp參數(shù)來指定AssetCheck绣张,AssetBundleCheck,CodeAnalyze的檢測結(jié)果的上傳目的服務(wù)器地址关带,此時使用協(xié)議默認(rèn)為http侥涵,上傳端口默認(rèn)為8080沼撕,展示頁面的端口默認(rèn)為3005

assetcheck.exe --project="C:\unity\sample201904" --serverIp="123.123.123.123"
----
2020-08-13 15:33:07,407 INFO: Current version is 1.11.0
2020-08-13 15:33:07,408 INFO: {***}
2020-08-13 15:33:07,408 WARNING: No project id provided, report will not be uploaded to upr server
2020-08-13 15:33:07,408 INFO: Upload server set to: http://123.123.123.123:8080
2020-08-13 15:33:07,408 INFO: Browse server set to: http://123.123.123.123:3005

也可以通過--uploadServer和--browseServer來直接指定服務(wù)器的完整URL(此時--serverIp會被忽略)
6.資源修復(fù)
Asset Checker中的部分規(guī)則支持直接對檢測到缺陷的資源進(jìn)行修復(fù)

在檢測完成后,如果發(fā)現(xiàn)資源的缺陷是可以自動修復(fù)的芜飘,Asset Checker會生成fix_report.yaml文件务豺,記錄準(zhǔn)備執(zhí)行修復(fù)的資源和修復(fù)規(guī)則
之后,用戶需要執(zhí)行

assetcheck.exe fix --project=<project_path>

來完成資源修復(fù)
現(xiàn)階段用戶可以手動刪除fix_report.yaml中的部分條目來控制所要執(zhí)行的修復(fù)范圍嗦明,后續(xù)我們將提供過濾命令或UPR Web中的操作界面優(yōu)化操作
資源包冗余檢測
1.檢測資源包

assetcheck.exe abcheck --project=<assetbundle_path> --projectId=<project_id>

<assetbundle_path>為AssetBundle包所在絕對路徑(其中不能包括中文)笼沥,<project_id>為UPR項目Id。
<project_id>非必需項娶牌。如果填寫了<project_id>奔浅,檢測結(jié)束后,可直接在UPR網(wǎng)站該項目內(nèi)查看檢測結(jié)果诗良。
UPR項目創(chuàng)建方式可參考UPR App 使用手冊汹桦,步驟2。點擊ProjectId可以快速拷貝鉴裹。

2.查看整體檢測結(jié)果
檢測執(zhí)行完成后舞骆,可點擊運行日志末尾的URL跳轉(zhuǎn)至UPR網(wǎng)站查看詳細(xì)結(jié)果


image.png

3.查看Asset依賴關(guān)系鏈
點擊上圖中相應(yīng)的資源AB包中某一個AssetBundle名字,可以在彈出頁面中進(jìn)一步查看此Asset到指定AssetBundle的依賴關(guān)系鏈

image.png

4.本地解析結(jié)果
abcheck的執(zhí)行結(jié)果會同時在本地以json文件格式保存在assetcheck所在文件夾下asse_bundle_analyze_result.json中

代碼缺陷檢測
1.檢測項目地址

assetcheck.exe code-analyze --project=<project_path> --projectId=<project_id>

<project_path>為Unity項目所在絕對路徑(其中不能包括中文)径荔,<project_id>為UPR項目Id督禽。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市总处,隨后出現(xiàn)的幾起案子赂蠢,更是在濱河造成了極大的恐慌,老刑警劉巖辨泳,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件虱岂,死亡現(xiàn)場離奇詭異,居然都是意外死亡菠红,警方通過查閱死者的電腦和手機(jī)第岖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來试溯,“玉大人蔑滓,你說我怎么就攤上這事∮鼋剩” “怎么了键袱?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長摹闽。 經(jīng)常有香客問我蹄咖,道長,這世上最難降的妖魔是什么付鹿? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任澜汤,我火速辦了婚禮蚜迅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘俊抵。我一直安慰自己谁不,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布徽诲。 她就那樣靜靜地躺著刹帕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谎替。 梳的紋絲不亂的頭發(fā)上偷溺,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機(jī)與錄音院喜,去河邊找鬼亡蓉。 笑死晕翠,一個胖子當(dāng)著我的面吹牛喷舀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淋肾,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼硫麻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了樊卓?” 一聲冷哼從身側(cè)響起拿愧,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碌尔,沒想到半個月后浇辜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡唾戚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年柳洋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叹坦。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡熊镣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出募书,到底是詐尸還是另有隱情绪囱,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布莹捡,位于F島的核電站鬼吵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏篮赢。R本人自食惡果不足惜而柑,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一文捶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧媒咳,春花似錦粹排、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妙同,卻和暖如春射富,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粥帚。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工胰耗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芒涡。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓柴灯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親费尽。 傳聞我的和親對象是個殘疾皇子赠群,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容