• 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 版本过低的解决办法

    TTMNQTools 目录下的

    	adb.exe
    AdbWinApi.dll
    AdbWinUsbApi.dll

    3个关键文件替换为 Android SDK 里的最新版本文件即可.

    去启动时的广告方法

    1. 设置以下目录权限 TTMNQUserDataTianTianad 为禁止读取即可.(亲测成功)
    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:

    UserDataTianTian目录拷贝一份到 D:TTMNQUserDataTianTian 目录即可.

    解决方案2:

    创建一个 D:TTMNQ 指向到 任意目录下的TTMNQ 的文件夹目录符号链接(或硬链接)
    如通过MKLLINK /D D:TTMNQ D:MNQTTMNQ 或 MKLLINK /H D:TTMNQ D:MNQTTMNQ

    解决方案3:

    直接修改UserDataTianTian tgps.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_MACHINESOFTWAREWow6432NodeTianTian路径下的注册表信息. 经过尝试,只要增加注册表两条关键配置即可解决此问题

    解决方案:
    REM 3.X 以上版本必须在注册表里找到 InstallPath 才能正常启动,否则提示"配置文件损坏,需重新安装解决"
    SET InstallPath="E: tmnq"
    reg add "HKEY_LOCAL_MACHINESOFTWAREWow6432NodeTianTianSetup" /v "Version" /t REG_SZ /d "3.0.3" /f
    reg add "HKEY_LOCAL_MACHINESOFTWAREWow6432NodeTianTianSetup" /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无法连接到模拟器

    启动 Noxindebug.bat 即可.

    ADB 版本过低的解决办法

    Noxin 目录下的

    	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
    }
    }
    }
    作者:Asion Tang
    凡是没有注明[转载]的文章,本Blog发表的文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    用C#实现宽带重新拨号
    CALLBACK FUNCTION 回调函数
    编译程序 VS 解释程序
    《围城》读书笔记
    鼠标点击器
    工作与找工作的日子
    Windows 7下VS2003的查找无响应问题
    收藏几句关于程序的名言
    static知识小结
    如何定义和实现一个类的成员函数为回调函数(转)
  • 原文地址:https://www.cnblogs.com/AsionTang/p/7249522.html
Copyright © 2020-2023  润新知