前因后果
在平時的開發(fā)過程中,不管是用模擬器還是真機(jī)調(diào)試,做出來產(chǎn)品后在大多數(shù)的手機(jī)上運(yùn)行的效果還是蠻好的,但是有時候測試說,誒,這個手機(jī)上運(yùn)行的效果不對啊,拿來一看,發(fā)現(xiàn)好多的布局都有點(diǎn)偏差,然后適配好了。
可是在測試中的時候發(fā)現(xiàn)的還好,萬一是線上的版本,有用戶投訴或者是老板突然發(fā)現(xiàn)了的話就不好了。或者說,如果有用戶反饋你這個產(chǎn)品在某某手機(jī)上的UI效果不太好,可是你又沒有那臺機(jī)器,怎么辦?遠(yuǎn)程真機(jī)?我告訴你,不需要,只要有一臺模擬器或者是有root的真機(jī)就好了。
不同的手機(jī)顯示的效果有可能會有好大的差別,但是有時候你會發(fā)現(xiàn),其實它們的分辨率是一樣的,但是為什么顯示出來的效果會不一樣呢?答案是dpi這個東西,像素密度越大,所占的空間比較越小。比如說大部分的手機(jī)分辨率是1080x1920的dpi是在400左右的,但是vivo的某些機(jī)型dpi卻是380左右。當(dāng)然顯示就會存在差別。
這里不說怎么適配各個屏幕顯示效果的問題,只說說怎么樣才能在720p的手機(jī)顯示1080p的效果,還有模仿實際真機(jī)的顯示效果。
比如現(xiàn)在我有一臺手機(jī)是720x1280,dpi是320的手機(jī),屏幕顯示效果正常,那么如果線上的版本有人反饋說在1080x1920,dpi是401的手機(jī)上顯示效果有問題,那么該如何去操作才能在這臺720x1280的手機(jī)去查看1080x1920顯示的效果呢?
首先,可以去各大應(yīng)用市場下載 終端模擬器 并安裝在手機(jī)上,注意沒有root的手機(jī)是不能修改分辨率的。
接著輸入以下命令:
su
wm size 1080x1920
wm density 401
解釋:
- su是申請root權(quán)限的,修改手機(jī)的分辨率當(dāng)然要權(quán)限的嘛。
- wm size 1080x1920是把手機(jī)分辨率改成1080x1920,wm是windowmanager,還有下面的常用操作:
wm size // 查看手機(jī)的分辨率
wm size reset // 重置手機(jī)分辨率
wm density // 查看手機(jī)的密度值
wm density reset // 重置手機(jī)的密度值
當(dāng)你想在某手機(jī)型號上查看顯示效果時,你只需要知道這個手機(jī)的分辨率和dpi值就能修改了,非常的方便。其實如果手機(jī)連接了電腦的情況下是不需要為手機(jī)安裝任何軟件的,只需要在cmd命令行中執(zhí)行上面的命令也可以達(dá)到想要的效果。
下面附帶一些常用的adb命令
- 查看當(dāng)前連接的手機(jī)(模擬器)設(shè)備
adb devices
- 殺死和啟動adb服務(wù)
adb kill-server
adb start-server
- 安裝應(yīng)用
adb install apk_file // 默認(rèn)的安裝,會清除數(shù)據(jù)
adb install -r apk_file // 覆蓋安裝
- 卸載應(yīng)用
adb uninstall apk_packageName
- 當(dāng)有的手機(jī)在卸載完應(yīng)用后再安裝應(yīng)用會提示應(yīng)用已存在,實際上是因為卸載后數(shù)據(jù)有殘留,只需操作下面的即可(要root)
adb shell // 進(jìn)入手機(jī)里面
su
cd /data/data/
rm -r package_name
- 列出所有的包名
adb shell
pm list packages
- 查看手機(jī)最頂棧的activity是哪個
db shell dumpsys activity top