- 【√】天天模擬器
- 【×】夜神模擬器
- 【×】雷電模擬器
- 【×】網易MuMu模擬器
- 【×】逍遙游模擬器
- 【×】Genymotion
- 【×】BlueStacks
- 【×】Android SDK 自帶模擬器
【√】天天模擬器
優點:
- 純綠色化
- 模擬GPS定位時,反應足夠快(調試時基本能夠比網絡定位優先拿到GPS模擬的位置信息)
- 2.1.3版本足夠日常使用。
缺點:
- 廣告挺多的(已手動屏蔽)
- 可設置的選項沒有 夜神模擬器 多(但是足夠使用如能設置分辨率和DPI就行)
- 升級到最新的 TianTianSetup-v2.2.1-full 安裝在C盤沒問題,其他盤有問題,VBox模擬器COM組件注冊異常。
- ROOT 功能不正常.
- 升級到最新的 TianTianSetup-v3.0.2 (Android系統升級到6.0了)版本后相機無法正常啟動宿主電腦的攝像頭,綠色化也不完整,會向系統盤寫入配置文件.
個人經驗
ADB 版本過低的解決辦法
將\TTMNQ\Tools
目錄下的
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
3個關鍵文件替換為 Android SDK 里的最新版本文件即可.
去啟動時的廣告方法
- 設置以下目錄權限
TTMNQ\UserData\TianTian\ad
為禁止讀取即可.(親測成功) - 創建同名 ad 文件,以便程序無法自動創建 ad 目錄?(未親測)
去除多余進程方法
將 目錄 TTMNQ去多余進程
里的程序替換掉文件即可.
│ RYWebStatistics.bat
│ RYWebStatistics.exe
│ TianTianAdvert.bat
│ TianTianAdvert.exe
│ TianTianPushAd.bat
│ TianTianPushAd.exe
│ ToolUpdater不能替換會崩潰.exe
│ WebStatistics.bat
│ WebStatistics.exe
│
├─download
│ MiniThunderPlatform.bat
│ MiniThunderPlatform.exe
│
├─Tools
│ kpzsJoystickTool.bat
│ kpzsJoystickTool.exe
│ kpzsPay.bat
│ kpzsPay.exe
│
└─UserData
└─TianTian
WebStatistics.bat
WebStatistics.exe
ADB無法連接到模擬器
原因分析:
天天模擬器使用了兼容性更好的方式,直接使用類似WiFi Adb模式才能鏈接.
解決方案:
adb connect 127.0.0.1:6555
安裝APP(APK)時非常非常慢TTMNQ每次調試、運行、安裝無論多大的APP的時候總是要等待至少10秒以上才成功?
情況1原因分析:
- 經過查看LogCat,發現每次全新安裝一個APP時,需要請求一個網址 webapi.kaopu001.com ,然后超時了。導致每次安裝都要等待N久的時間。
情況1解決方案:
- 通過某些模擬器可用的防火牆APP,禁用掉所有系統APP的網絡訪問權限即可。
親測**可用(但效果不好,已放棄)**的APP:Adguard(VPN模式無效,WiFi代理模式可用) 親測無用的APP:NoRoot Firewall,DroidWall
- 通過宿主電腦限制天天模擬器進程的網絡訪問權限:理論上也行.(未親測)
- 理論上改宿主或者模擬器本身的Host文件也應該可行.(未親測)
情況2原因分析:
- 分析LogCat總結規律發現每次10秒過后會出現信息:PackageManager: Verification timed out
- 網搜發現錯誤地址在 PackageManager.java 文件,反編譯源碼(system/framework/services.jar)
- 發現控制校驗的代碼主要有兩個,通過以下腳本禁用即可.
情況2解決方案:
相關資料:
1.遇到INSTALL_FAILED_VERIFICATION_FAILURE怎么辦 - CSDN博客
將系統設置 verifier_verify_adb_installs
和 package_verifier_enable
設置為0 禁用掉即可.
將下方代碼另存為adb.加速模擬器安裝APK的速度(禁用APP安裝校驗功能).bat
文件執行一下即可.
@ECHO OFF
ECHO verifier_verify_adb_installs 修改前
adb shell settings get global verifier_verify_adb_installs
ECHO verifier_verify_adb_installs 修改為
ECHO 0
adb shell settings put global verifier_verify_adb_installs 0
ECHO verifier_verify_adb_installs 修改后
adb shell settings get global verifier_verify_adb_installs
ECHO.
ECHO package_verifier_enable 修改前
adb shell settings get global package_verifier_enable
ECHO package_verifier_enable 修改為
ECHO 0
adb shell settings put global package_verifier_enable 0
ECHO package_verifier_enable 修改后
adb shell settings get global package_verifier_enable
ECHO.
PAUSE
移動TTMNQ目錄到非磁盤根目錄時,無法設置GPS模擬位置的問題?
原因分析:
可能是程序讀取配置文件時,寫死的路徑?或者在初次安裝時,一不小心記住了之前的配置文件夾路徑導致的.
解決方案1:
在UserData\TianTian
目錄拷貝一份到 D:\TTMNQ\UserData\TianTian
目錄即可.
解決方案2:
創建一個 D:\TTMNQ
指向到 任意目錄下的TTMNQ
的文件夾目錄符號鏈接(或硬鏈接)
如通過MKLLINK /D D:\TTMNQ D:\MNQ\TTMNQ
或 MKLLINK /H D:\TTMNQ D:\MNQ\TTMNQ
解決方案3:
直接修改UserData\TianTian\ttgps.xml
文件里的經緯度即可實時改變當前GPS位置.
解決方案4:
直接修改mTianTian.dat
文件里的HTML代碼.這個文件就是供TianTianGPS.exe
程序調用的地圖選擇網頁.可能是這個HTML出BUG了.
TTMNQ能正常啟動顯示桌面,但是無法點擊運行任何APP,仿佛桌面卡死一般?
原因分析:
刪除了文件ToolUpdater.exe導致的.
解決方案:
還原該文件即可.
如何轉換為系統應用/system/app
?
對於某些特殊的APP必須存在指定系統目錄/system/app
下才能正常工作,而通過常規方式將其轉換為系統應用始終失敗(如用鈦備份轉換為系統應用會一直卡死在進度條那里).
解決方案:
使用/system/app mover
APP來移動指定應用,並使用其內置的軟重啟|熱重啟一次模擬器系統,即可生效(冷重啟一次模擬器會再次失效,只能再操作一次然后熱重啟才可以)
系統相機不工作時該怎么模擬拍照?
解決方案:
使用各種 Fake Camera 應用即可實現調用拍照軟件時,出現新的相機選項,然后可以選擇一張照片來模擬拍照成功.
- 下載地址1: Fake Camera - Google Play 上的 Android 應用
- 下載地址2: Search for Fake Camera.apk For Android | Android APK
- 下載地址3: Gallery Camera - Google Play 上的應用
3.X以上版本綠色化不完全,提示"配置文件損壞,需重新安裝解決"的問題?
通過"Windows Sysinternals.Procmon.exe"抓去 TTMNQ 啟動信息,發現它會讀取 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TianTian
路徑下的注冊表信息. 經過嘗試,只要增加注冊表兩條關鍵配置即可解決此問題
解決方案:
REM 3.X 以上版本必須在注冊表里找到 InstallPath 才能正常啟動,否則提示"配置文件損壞,需重新安裝解決"
SET InstallPath="E:\ttmnq"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TianTian\Setup" /v "Version" /t REG_SZ /d "3.0.3" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TianTian\Setup" /v "InstallPath" /t REG_SZ /d %InstallPath% /f
【×】夜神模擬器
優點:
- 可設置的選項要比 天天模擬器 要多很多。
- 有多款皮膚
- 自帶ROOT權限
- 支持調用宿主電腦攝像頭
缺點:
- 部分綠色化(會寫入部分設置到系統盤
%LOCALAPPDATA%\Nox
) - 模擬GPS定位時,反應太慢(感覺就像模擬真機一樣需要冷啟動GPS很久才正常一樣)。導致程序總是優先拿到了網絡定位。不方便調試。
- 系統版本4.4.2
- 系統版本5.1.1 攝像頭調用不正常
個人經驗
ADB無法連接到模擬器
啟動 Nox\bin\debug.bat
即可.
ADB 版本過低的解決辦法
將\Nox\bin
目錄下的
nox_adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
3個關鍵文件替換為 Android SDK 里的最新版本文件即可.adb.exe
文件需要重命名為 nox_adb.exe
【×】雷電模擬器
優點:
- 可設置的選項要比 天天模擬器 多
- 系統是5.1.1的
缺點:
- 攝像頭無法調用宿主機的攝像頭,雖然無法調用宿主攝像頭,但是會彈出截取二維碼窗口對宿主桌面截圖出來顯示,不閃退崩潰.但是有的APP還是檢測不到相機.
【×】網易MuMu模擬器
缺點:
- 攝像頭無法調用宿主機的攝像頭,或者模擬的效果也沒有.
- 系統版本是4.4.4
【×】逍遙游模擬器
優點:
- 可設置的選項要比 天天模擬器 多
- 系統是5.1.1的
- 雖然沒有控制相機開啟的開關,但是某些相機應用還是能調用宿主電腦攝像頭的.
缺點:
- 只能使用兼容模式導致性能過低放棄
- 首次安裝在51%居然卡住了!囧
- 調用某些相機的APP直接閃退
【×】Genymotion
優點:
- 系統ROM版本很新很豐富
缺點:
- 需要注冊才能使用。
- 綠色化很麻煩。
【×】BlueStacks
優點:
- 功能多?
缺點:
- 系統API19 Android 4.4.2
個人經驗
臨時性使用 Genymotion 的辦法
- 前提:備份了對應的系統文件;如
genymotion_vbox86p_7.1_170929_114700.ova
登錄帳號 - 然后下載需要的系統鏡像 - 打開
C:/Users/XX/AppData/Local/Genymobile/Genymotion/ova
- 備份起來即可.
- 安裝
genymotion-2.11.0-vbox.exe
離線安裝 ,速度更快: 可離線直接使用免費的PersonUse授權,不聯網,不用登錄.
-
雙擊
genymotion_vbox86p_7.1_170929_114700.ova
導入Oracle VM VirtualBox -
再重新打開 Genymotion 軟件 即可在 “Your virtual devices” 列表里看見該虛擬機了
-
打開虛擬機 前 先設置好 需要的 分辨率 等配置.
-
打開虛擬機 后 安裝
Genymotion-ARM-Translation_v1.1.zip
以便正常安裝非X86架構的APP
優點:
- 能正常安裝;
- 能正常使用大部分功能;
缺點:
- 作者不再維護了(2017年在xda-developers.com里發表了聲明)
- 涉及Native部分的代碼功能還是(大概率)會出錯.
參考資料:
- [GUIDE] Genymotion | Installing ARM Translat… | Android Development and Hacking
- android - INSTALL_FAILED_NO_MATCHING_ABIS when install apk - Stack Overflow
【×】Android SDK 自帶模擬器
優點:
- Android系統ROM版本最新最齊全
- 純綠色化
缺點:
- 使用ARM系統鏡像,性能不高
- 無法正常安裝大部分 不支持X86架構的 APP
- 最新版本的系統不太穩定,可能有的功能無法正常使用.
個人經驗
解決X86架構模擬器無法安裝 “不支持X86架構的 APP” 的辦法
在項目 build.gradle
里 的 android{}
節點里增加以下配置代碼
android {
splits {
abi {
enable true
reset()
include 'x86', 'x86_64'
universalApk true
}
}
}