Android各種模擬器使用筆記


【√】天天模擬器

優點:

  1. 純綠色化
  2. 模擬GPS定位時,反應足夠快(調試時基本能夠比網絡定位優先拿到GPS模擬的位置信息)
  3. 2.1.3版本足夠日常使用。

缺點:

  1. 廣告挺多的(已手動屏蔽)
  2. 可設置的選項沒有 夜神模擬器 多(但是足夠使用如能設置分辨率和DPI就行)
  3. 升級到最新的 TianTianSetup-v2.2.1-full 安裝在C盤沒問題,其他盤有問題,VBox模擬器COM組件注冊異常。
  4. ROOT 功能不正常.
  5. 升級到最新的 TianTianSetup-v3.0.2 (Android系統升級到6.0了)版本后相機無法正常啟動宿主電腦的攝像頭,綠色化也不完整,會向系統盤寫入配置文件.

個人經驗

ADB 版本過低的解決辦法

\TTMNQ\Tools 目錄下的

	adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll

3個關鍵文件替換為 Android SDK 里的最新版本文件即可.

去啟動時的廣告方法

  1. 設置以下目錄權限 TTMNQ\UserData\TianTian\ad 為禁止讀取即可.(親測成功)
  2. 創建同名 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原因分析:
  1. 經過查看LogCat,發現每次全新安裝一個APP時,需要請求一個網址 webapi.kaopu001.com ,然后超時了。導致每次安裝都要等待N久的時間。
情況1解決方案:
  1. 通過某些模擬器可用的防火牆APP,禁用掉所有系統APP的網絡訪問權限即可。

    親測**可用(但效果不好,已放棄)**的APP:Adguard(VPN模式無效,WiFi代理模式可用) 親測無用的APP:NoRoot Firewall,DroidWall

  2. 通過宿主電腦限制天天模擬器進程的網絡訪問權限:理論上也行.(未親測)
  3. 理論上改宿主或者模擬器本身的Host文件也應該可行.(未親測)
情況2原因分析:
  1. 分析LogCat總結規律發現每次10秒過后會出現信息:PackageManager: Verification timed out
  2. 網搜發現錯誤地址在 PackageManager.java 文件,反編譯源碼(system/framework/services.jar)
  3. 發現控制校驗的代碼主要有兩個,通過以下腳本禁用即可.
情況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 應用即可實現調用拍照軟件時,出現新的相機選項,然后可以選擇一張照片來模擬拍照成功.

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

【×】夜神模擬器

優點:

  1. 可設置的選項要比 天天模擬器 要多很多。
  2. 有多款皮膚
  3. 自帶ROOT權限
  4. 支持調用宿主電腦攝像頭

缺點:

  1. 部分綠色化(會寫入部分設置到系統盤%LOCALAPPDATA%\Nox
  2. 模擬GPS定位時,反應太慢(感覺就像模擬真機一樣需要冷啟動GPS很久才正常一樣)。導致程序總是優先拿到了網絡定位。不方便調試。
  3. 系統版本4.4.2
  4. 系統版本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

【×】雷電模擬器

優點:

  1. 可設置的選項要比 天天模擬器 多
  2. 系統是5.1.1的

缺點:

  1. 攝像頭無法調用宿主機的攝像頭,雖然無法調用宿主攝像頭,但是會彈出截取二維碼窗口對宿主桌面截圖出來顯示,不閃退崩潰.但是有的APP還是檢測不到相機.

【×】網易MuMu模擬器

缺點:

  1. 攝像頭無法調用宿主機的攝像頭,或者模擬的效果也沒有.
  2. 系統版本是4.4.4

【×】逍遙游模擬器

優點:

  1. 可設置的選項要比 天天模擬器 多
  2. 系統是5.1.1的
  3. 雖然沒有控制相機開啟的開關,但是某些相機應用還是能調用宿主電腦攝像頭的.

缺點:

  1. 只能使用兼容模式導致性能過低放棄
  2. 首次安裝在51%居然卡住了!囧
  3. 調用某些相機的APP直接閃退

【×】Genymotion

優點:

  1. 系統ROM版本很新很豐富

缺點:

  • 需要注冊才能使用。
  • 綠色化很麻煩。

【×】BlueStacks

優點:

  1. 功能多?

缺點:

  • 系統API19 Android 4.4.2

個人經驗

臨時性使用 Genymotion 的辦法

  1. 前提:備份了對應的系統文件;如 genymotion_vbox86p_7.1_170929_114700.ova

登錄帳號 - 然后下載需要的系統鏡像 - 打開C:/Users/XX/AppData/Local/Genymobile/Genymotion/ova - 備份起來即可.

  1. 安裝 genymotion-2.11.0-vbox.exe

離線安裝 ,速度更快: 可離線直接使用免費的PersonUse授權,不聯網,不用登錄.

  1. 雙擊 genymotion_vbox86p_7.1_170929_114700.ova 導入Oracle VM VirtualBox

  2. 再重新打開 Genymotion 軟件 即可在 “Your virtual devices” 列表里看見該虛擬機了

  3. 打開虛擬機  先設置好 需要的 分辨率 等配置.

  4. 打開虛擬機  安裝 Genymotion-ARM-Translation_v1.1.zip 以便正常安裝非X86架構的APP

優點:

  • 能正常安裝;
  • 能正常使用大部分功能;

缺點:

  • 作者不再維護了(2017年在xda-developers.com里發表了聲明)
  • 涉及Native部分的代碼功能還是(大概率)會出錯.
參考資料:
  1. [GUIDE] Genymotion | Installing ARM Translat… | Android Development and Hacking
  2. android - INSTALL_FAILED_NO_MATCHING_ABIS when install apk - Stack Overflow

【×】Android SDK 自帶模擬器

優點:

  1. Android系統ROM版本最新最齊全
  2. 純綠色化

缺點:

  1. 使用ARM系統鏡像,性能不高
  2. 無法正常安裝大部分 不支持X86架構的 APP
  3. 最新版本的系統不太穩定,可能有的功能無法正常使用.

個人經驗

解決X86架構模擬器無法安裝 “不支持X86架構的 APP” 的辦法

在項目 build.gradle 里 的 android{} 節點里增加以下配置代碼

android {
splits {
abi {
enable true
reset()
include 'x86', 'x86_64'
universalApk true
}
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM