精华内容
下载资源
问答
  • 如果我们编写了一个Android应用程序,想在一台没有Android SDK或者BUILD环境的机器显示给别人看...这篇文章介绍另外一种方法在Windows下环境下使用Android模拟器,它不依赖于SDK或者BUILD环境,可以独立分发和使用。  
  • android模拟器系统源码

    2018-11-01 21:05:50
    android开发所使用的 模拟器系统源码,用于练习时需要跳转到模拟器自带页面时 ,设置隐式意图 , 查看意图过滤器等等。ceshiguo eclipse自带 AVD模拟器 和 genymotion模拟器
  • Mac本M1芯片无法使用Android模拟器的解决方案.docx
  • 在官方的Android模拟器上安装Magisk 适用于Android API 22-30,S(28除外) 抓住Magisk.zip并将其放在此目录中。 如果您使用的是ARM系统映像,请用busybox_arm替换busybox 。 要使用magisk修补ramdisk,必须已...
  • Docker Emulator Android是Android Farm的组件之一。它在一个容器中运行带有硬件加速的android模拟器
  • Android模拟器

    千次阅读 2019-07-21 15:50:45
    ” 使用Android模拟器开发和调试应用肯定比使用真机方便。但相比XCODE的IOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗! 1、Android SDK自带的AVD模拟器 12年我开始接触Android...

    “工欲善其事,必先利其器。” 使用Android模拟器开发和调试应用肯定比使用真机方便。但相比XCODEIOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗!

    1、Android SDK自带的AVD模拟器

    12年我开始接触Android开发时候,手头上甚至连一部低端的Android手机都没有,那时候用的是Android SDK自带的AVD模拟器,相信任何Android开发者都对这货深恶痛绝。一直以来,Android开发都有以下的毛病:

    • AVD模拟器奇卡无比;

    • 使用USB数据线链接手机经常无法设别设备,adb容易抽风;

    • Log日志输出不全;

    一直以来都想找一款能够顺畅运行APP的Android模拟器,以下就介绍几款比较给力的。

    2、Genymotion

    Genymotion是一款顺畅和容易(fast and easy-to-use)使用的Android模拟器,可以用来运行和调试你的APP。Genymotion 来自于AndroVM 这个开源项目,基于 x86 和 VirtualBox,支持 OpenGL 加速,可以用于 Mac/Win/Linux。最近发布了新版,支持了 Android2.3/4.3,新增了拖拽安装 apk,移除了 Google 市场(后面提供解决方案)。另外增加了功能更丰富的付费版,个人可以继续使用免费版。

    特点

    1. 超级流畅;

    2. 支持拖拽安装APK;

    3. 有多种Android系统版本和设备类型供选择;

    4. 能模拟手机的旋转、充电情况、GPS数据等物理数据;

    此外,Genymotion还提供了EclipseIntellij Idea(Android Studio)的插件,方便你从IDE启动模拟器,不过目前插件的功能也仅仅是用于启动模拟器。

    当然Genymotion也不是万能的,它也有一些不足之处。

    Genymotion无法启动

    Window版本的GenymotionVirtualBox的链接经常出问题,Genymotion经常无法启动,并提示VirtualBox引擎出错,关于Genymotion安装以及启动过程中出现的问题,你可以参考官方的帮助文档

    Genymotion无法安装Google Play

    前面说过,新版 Genymotion 移除了 Google 市场。实际上,对 ARM library 的支持也一并移除了:

    Both the “Google apps” and the “ARM library support” features are removed.

    有的APP用到了ARM的SO库,安装这些 App 时,会报「INSTALL_FAILED_CPU_ABI_INCOMPATIBLE」错误,比如微信。xda 论坛给出了一个解决方案,经验证确实好用。
    安装 GApps(含 Google 市场)和 ARM Translation(提供 ARM 支持)的步骤:

    1. 下载 ARM Translation Installer v1.1

    2. 下载对应系统的 GApps

    3. 安装第 1步下载到的文件(直接把 zip 文件拖进虚拟机,不要解压),安装完关闭虚拟机再打开;

    4. 安装第 2 步下载到的文件(步骤同上);

    这样,Google Play 和其他 Google App 都有了,再安装微信等应用也不会报错了。(但是此方法并不是对所有的APP都管用, Genymotion对使用了ARM的SO库的APP的支持确实不好,希望以后能改进)。

    3、电脑上也可以玩Android游戏的BlueStacks

    Android 第一個第三方的模拟器就是 Bluestacks,网络上也有許多介绍文章。最大优势是占用资源小,安装包用量大约是 182 MB 左右,同样有 Windows / Mac 版、内置Google Play 商店。

    如何使用

    首先,xp用户需先安装Windows Installer 4.5.NET Framework 2.0 SP2,否则会提示出错,我们这里也提供了下载,如果电脑上已经安装过这些软件可以跳过此步。然后到官网下载最新的安装包并安装。

    不足之处

    Bluestacks相比Genymotion,不容易出现无法启动的问题,也支持ARM Library,但不足之处也是明显的:

    1. 流畅度不如Genymotion

    2. 没有多种Android系统以及设备型号供选择;

    3. 最致命的,Bluestacks是为了游戏而不是为了开发而设计的,所以无法竖屏,不适合开发 ;

    4、最适合开发的Android模拟器Droid4X

    正如官网所介绍的,海马玩模拟器(Droid4X)是迄今为止在性能,兼容性和操控体验方面最好的安卓模拟器。通过Droid4X,用户可以在PC上享受百万移动应用和游戏带来的全新体验。

    海马玩模拟器在Android内核和图形渲染方面取得了突破性的成果,在同等PC硬件配置下,整体性能超出其他同类产品50%以上。海马玩模拟器美解决了ARM程序在X86架构下的运行问题,兼容市面现有99%以上的应用和游戏。

    Droid4X模拟器是利用VirtualBox为基础,支持滑动按键,自带ROOT权限, 启动速度快等等。相信很多朋友使用传统安卓模拟器都会遇到各种各样的问题导致使用体验差。而这款海马玩安卓模拟器(DROID4X)不仅支持双显卡的电脑 同时系统内自带资源库,让你完完全全感受原生安卓的独特魅力。使用海马玩安卓模拟器(DROID4X)能让你轻轻松松使用电脑的安卓客户端。

    特点

    1. 速度流畅,稍微不如Genymotion,但是比BlueStacks好很多;

    2. 支持横竖屏切换,支持摇动以及GPS数据模拟;

    3. 支持ARM Library,能够运行Google Play等Genymotion无法运行的APP;

    4. 支持手柄控制;

    5. 未来支持在IOS运行,也就是可以用IPHONE运行Android应用了,想想就怕;

    如何使用

    1. 下载并安装 VirtualBox;

    2. 下载并安装Droid4X

    不足之处

    Droid4X可以说得上没什么可以挑剔的地方,非要说的话,就是流畅度稍微不如Genymotion,UI不如Genymotion“接地气”,更像是为了游戏而设计的。此外,也不想Genymotion那样有众多Android系统版本可以选择,不过这些都是无关紧要的功能,毕竟我们不会用一个模拟器去作覆盖测试,是不?

    总结

    从使用经验上来看,Droid4X确实是一款值得每个Android开发汪使用的模拟器,试想一下,每次完成Coding,轻轻按一下Shift+F10,或者使用“重大事件决策按钮”,如下图,

    展开全文
  • Android模拟器躲避的检测与应对,介绍模拟器检测的主要方法
  • Android 模拟器永久root工具

    热门讨论 2013-08-01 10:11:22
    Android 模拟器永久root工具------包含 (android for img.rar、Android SU文件更新包.zip、RootExplorer.apkSuperuser.apk) 1、用android for img.rar里的android for img.exe打开 E:\SDK\platforms\android-8\...
  • docker-emulator-android:Dockerized android模拟器
  • 做Android开发,模拟器是必备品,而Android模拟器的IP和电脑总不是一个网段的,想要进行测试非常麻烦,甚至很多时候模拟器没有办法连接互联网,本文详细的描述了Android模拟器IP设置的完整步骤。
  • Android模拟器启动器ADV

    2017-10-13 17:01:19
    启动Android模拟器.bat文件。用记事本打开文件,“D:\AndroidSDK\tools\”对应SDK路径,“Nexus_5X_API_24”对应模拟器名称,对应修改即可双击运行。
  • 主要介绍了Android模拟器接收UDP数据包的若干问题,结合实例形式较为详细的分析了Android模拟器接收UDP数据的使用方法与相关注意事项,需要的朋友可以参考下
  • Android模拟器的创建

    2014-09-15 20:43:51
    Android 工程需要发布到Android 模拟器,因此需要创建一个虚拟设备。首先必须设置虚拟设备的名称、模拟器的版本、SD 卡大小(这只是一个虚拟的SD 卡);然后,选择屏幕大小。
  • 转载自大神的工具,很好用,功能强大,此为可执行文件
  • android模拟器使用gps定位,模拟实现GPS传感器经纬坐标数据的获取。
  • Android 模拟器不能连网?

    千次阅读 2020-02-27 23:11:48
    Android 模拟器可以运行,但是不能连接网络,事实上这是第二次遇到这个情况了,第一次是在公司,Windows系统,当时的处理方式是直接禁用了IPV6,最近又遇到了,这次是mac系统,但是距离上次已经好久了,所有又耽搁了...

    前言

    Android 模拟器可以运行,但是不能连接网络,事实上这是第二次遇到这个情况了,第一次是在公司,Windows系统,当时的处理方式是直接禁用了IPV6,最近又遇到了,这次是mac系统,但是距离上次已经好久了,所有又耽搁了点时间解决,所以决定搞清楚并解决这个问题。

    出现异常

    首先最直接的就是会给你报异常:

    java.net.UnknownHostException: 
    Unable to resolve host "***.***.com": No address associated with hostname
    

    剖析问题

    很明显是直接不能连这个地址了,不是超时,也不是404什么的。

    鉴于人性,首先怀疑服务器崩了…
    测试,pc访问是可以的。
    那好吧,再从自身找毛病。

    • 首先可以确定的是,跟电脑系统没有关系,上次是Windows,这次是mac,都遇到了。并且电脑也是有网的,可以打开网页测试。

    • 其次我们的程序,也就是代码也是没有问题的,这个只能自己确定,是否有联网权限什么的,请求地址是否正确什么的。

    • 然后我们有的人可能会排查到Android studio 或者模拟器上面,这里的步骤可能会有但不限于清除缓存重启as重建模拟器等操作。

    • 最后我们会定位到模拟器这里,如图
      在这里插入图片描述
      状态栏的wifi标志是有个小x的,设置里面也显示已连接但无法访问,ok,总算找到问题了,原来是模拟器不能连网。

    网上搜一波解决方案都是改DNS、禁用代理什么的,而且有的改了还没用,最后还是FQ找到的办法。

    解决方案

    好了啰嗦了半天了,终于到解决办法了。

    简而言之,Android模拟器7.0及以后都可能会出现这种问题,为什么会是可能呢,这就要取决于你的网络是不是有ipv6了,有就一定会,所以第一个解决方案也就来了:

    1、禁用IPV6

    不同的系统有不同的禁用方式,这个要自行解决。

    2、创建7.0以下的模拟器

    因为7.0以下的模拟器用的是你电脑的网,而不需要在模拟器里面设置。

    展开全文
  • 创建Android模拟器(emulator) 运行Android模拟器 设置简体中文语言界面 模拟手机拨打电话和发送短信的功能 源代码:本讲没有代码 1.模拟器和真机的比较 android模拟器不具备的功能: 不支持呼叫和接听实际...
  • Ubuntu中玩转Android模拟器

    千次阅读 2020-12-02 20:23:09
    近来研究了下Android emulator,就是Android Studio中用于调试App的虚拟机AVD(Android Virtualized Device)。本来是件挺平淡无奇的事情,但非要给生活比个””耶…..”(^-^)V 需求是,在Linux OS中,使用自定义的...

    近来研究了下Android emulator,就是Android Studio中用于调试App的虚拟机AVD(Android Virtualized Device)。本来是件挺平淡无奇的事情,但非要给生活比个””耶…..”(^-^)V 需求是,在Linux OS中,使用自定义的Android Kernel! 由于烂樱桃本人只略懂一丢虚拟化技术,对于Android算是一窍不通,所以,本文主要记录步骤为主,木有原理性的东西。

    0. 准备 安装Android Studio

    到Android Studio 官网下载最新Android for Linux 64-bit 基本上解压缩之后就能用,如果安装有问题参考官方安装文档
    注:安装过程需要访问Android的一些服务器,下载文件。所以,需要保证上网方式科学有效,还是那句话,不要问如何上网。

    1. 安装AVD

    Android Studio中AVD的安装很方便,第一次创建虚拟机的时候,需要先点击那个’Download’按钮,在线下载虚拟机镜像。
    需要注意的两点:

    • 需要下载带有’google play’图标的镜像,因为带有Google play log的镜像中有很多限制,比如无法使用adb root等。
    • Android Q内含Android Kernel 4.14, Android R是最新版的Android,内含Android Kernel 5.4. 硬盘空间允许的话,Android Q 和 R 都安装了,下面会分别讲述kernel 4.14 和5.4的不同玩法。

    直接上图一看便知
    android_studio_avd

    2 命令行启动Android模拟器

    为了方便启动模拟器,在安装好AVD之后,我们可以退出Android Studio,正常情况后面的步骤都不在需要用到Android Studio了。
    Android Studio在安装过程中,会下载Android SDK,默认路径是~/Android/SDK 这就是Android的开发包了,其中~/Android/SDK/emulator包含了启动模拟器所需要的脚本。
    所以,只要进入到emulator的目录内,或者把emulator加到PATH环境变量中,就可以运行模拟器了

    DISPLAY=:0 ./emulator -avd Pixel_2_v54 -verbose -show-kernel -shell -memory 8192 -no-snapshot-load -gpu guest #-qemu -enable-kvm
    

     

    具体的参数含义参考官方文档 emulator-commandline

    3. 更换模拟器的Kernel

    这是本文的主要目的,在Android Q(Android Kernel 4.14)以及之前的版本的Android,是吧所有的kernel driver全都built-in到一个内核镜像中(bzImage),但在Android R(Kernel 5.4)开始,为了适应硬件的需求,开始将部分驱动编译成内核模块(kernel module)放在系统镜像中。更详细的故事可以参考Google outlines plans for mainline Linux kernel support in Android –Google wants less forking, more modularization for Android’s Linux kernel

    3.1 Android Q with Kernel 4.14

    此时的事情很简单,仅需要简单的几步: 1. 下载内核镜像; 2. 下载编译工具; 3. 编译内核

    git clone https://android.googlesource.com/kernel/goldfish/ -b android-goldfish-4.14-dev.150
    git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9 -b android10-release
    
    export PATH=$PATH:$PWD/x86_64-linux-android-4.9/bin
    
    cd goldfish
    make ARCH=x86_64 x86_64_ranchu_defconfig
    make -j16 ARCH=x86_64 CROSS_COMPILE=x86_64-linux-android-
    

    注意,两个repo的branch得是搭配的,不可以随意换。
    Building Kernels Manually这里列出了各种相关的kernel repo。
    编译成功之后,这样启动Android模拟器:

    DISPLAY=:0 ./emulator -avd Pixel_2_v54 -verbose -show-kernel -shell -memory 8192 -no-snapshot-load -gpu guest -kernel /path/to/repo/goldfish/arch/x86/boot/bzImage #-qemu -enable-kvm
    

     

    方法参考: Run Android Emulator with a Custom Kernel

    3.2 Android R with Kernel 5.4

    因为需要重新打包system.img,更新其中的kernel module,所以,除了上面两个repo之外,还需要Android完整的源码,并且编译完整的Android image。

    3.2.1 编译Kernel 5.4

    首先使用跟4.14类似的编译方法。尽管容易理解,但并不推荐,这样还需要手动打包,制作ramdisk.img。

    git clone https://android.googlesource.com/kernel/goldfish/ -b android-5.4
    或者如果已经clone过goldfish kenrel,执行:
    cd goldfish && git checkout android-5.4
    

     

    git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9 -b master
    或者如果已经clone过x86_64-linux-android-4.9,执行:
    cd x86_64-linux-android-4.9 && git checkout master
    

    下载clang编译器,并且使用特别版本clang-r377782c来编译Android-R

    git clone git clone https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86 -b android-r-preview-4
    export PATH=$PATH:/path/to/linux-x86/clang-r377782c/bin:/path/to/x86_64-linux-android-4.9/
    

     

    一切准备就绪之后,编译kernel-5.4

    make O=out ARCH=x86_64 CC=clang CLANG_TRIPLE=x86_64-linux-gnu x86_64_defconfig
    make O=out ARCH=x86_64 CC=clang CLANG_TRIPLE=x86_64-linux-gnu- CROSS_COMPILE=x86_64-linux-androidkernel- LD=ld.lld
    

     

    3.2.1’ 编译Kernel 5.4

    使用repo下载Android Kernel 5.4 以及编译工具(x86_64-linux-android-4.9) 和 编译器Clang

    mkdir goldfish-kernel-54
    cd goldfish-kernel-54/
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-5.4
    repo sync
    BUILD_CONFIG=goldfish-modules/build.config.goldfish.x86_64 build/build.sh
    #grep '=m' ./out/android-5.4/common/.config
    #vim ./goldfish-modules/goldfish_defconfig.fragment
    

     

    所有生成的二进制文件(包含bzImage, *.ko)都在 out/android-5.4/dist/ 里面了。

    3.2.2 编译Android镜像

    apt install libncurses5-dev
    apt install libncurses5
    
    mkdir android-src
    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j32
    source build/envsetup.sh
    lunch sdk_phone_x86_64-userdebug
    make -j64
    

    注: 初始化仓库的时候,这里使用master branch,如果想编译其他分支参考Android manifest
    各个branch的含义以及支持情况,可以参考Codenames, Tags, and Build Numbers
    编译Android源码的更详细介绍,可以参考Building Android

    所有生成的镜像文件都在文件夹out/target/product/generic_x86/
    Andriod源码中包含了模拟器,一旦Android镜像编译完成之后,可以直接启动Android虚拟机

    emulator
    

     

    并且可以基于这个虚拟机,创建一个可以用于Android studio的AVD,详细参见Using Android Emulator Virtual Devices

    3.2.3 替换Kernel,重做system.img

    rm /path/to/android-src/prebuilts/qemu-kernel/x86_64/5.4/ko/*
    cp /path/to/goldfish-kernel-54/out/android-5.4/dist/bzImage /path/to/android-src/prebuilts/qemu-kernel/x86_64/5.4/kernel-qemu2
    cp /path/to/goldfish-kernel-54/out/android-5.4/dist/*.ko    /path/to/android-src/prebuilts/qemu-kernel/x86_64/5.4/ko
    
    make  # make again after replacing bzImage and modules !!
    

    重新make 之后,会生成包含customized过的kernel以及module,这是我们想起来准备工作中下载的Android-R镜像
    默认位置这里~/Android/Sdk/system-images/android-R/google-apis/x86_64/

    替换掉kernel 和 ramdisk.img:

    cp /path/to/android-src/out/target/product/generic_x86_64/kernel-ranchu-64 ~/Android/Sdk/system-images/android-R/google-apis/x86_64/
    cp /path/to/android-src/out/target/product/generic_x86_64/ramdisk-qemu.img ~/Android/Sdk/system-images/android-R/google-apis/x86_64/
    

    Android源码库中并不包含内核,android-src/out/target/product/generic_x86/kernel-ranchu-64仅仅是上一步生产的内核改了个名字。
    另外,注意generic_x86_64文件夹中同时还有一个文件’ramdisk.img’,不要混淆,我们需要的是ramdisk-qemu.img

    然后启动Android虚拟机:

    DISPLAY=:0 ./emulator -avd Pixel_2_v54 -verbose -show-kernel -shell -memory 8192 -no-snapshot-load -gpu guest #-sysdir /path/to/adroid-R/google-apis/x86_64/ #-qemu -enable-kvm
    

     

    -sysdir 参数是说,如果不想直接替换Sdk中的源文件,可以copy一下文件夹x86_64,然后替换kernel 和 ramdisk.img,但同时需要指定sysdir的路径

    3.2.3’ 替换Kernel,重做system.img

    export ANDROID_PRODUCT_OUT=/path/to/android_src/out/target/product/generic_x86/
    export MYPACKEDIMG=~/mypackedimg
    mkdir -p $MYPACKEDIMG/img
    
    cd $MYPACKEDIMG/img
    cp $ANDROID_PRODUCT_OUT/system-qemu.img system.img
    cp $ANDROID_PRODUCT_OUT/vendor-qemu.img vendor.img
    cp $ANDROID_PRODUCT_OUT/ramdisk-qemu.img ramdisk.img
    cp $ANDROID_PRODUCT_OUT/kernel-ranchu-64 .
    
    cp -rf $ANDROID_PRODUCT_OUT/data .
    cp -rf $ANDROID_PRODUCT_OUT/advancedFeatures.ini advancedFeatures.ini
    cp -rf $ANDROID_PRODUCT_OUT/userdata.img .
    cp -rf $ANDROID_PRODUCT_OUT/encryptionkey.img .
    cp -rf $ANDROID_PRODUCT_OUT/system/build.prop .
    cp -rf $ANDROID_PRODUCT_OUT/VerifiedBootParams.textproto .
    cp -rf $ANDROID_PRODUCT_OUT/source.properties .
    
    cp /path/to/android_src/prebuilts/android-emulator/linux-x86_64/source.properties .
    

    启动Android虚拟机:

    DISPLAY=:0 ./emulator -avd Pixel_2_v54 -verbose -show-kernel -shell -memory 8192 -no-snapshot-load -gpu guest -sysdir $MYPACKEDIMG/img
    

     

    android_emulator_demo

    参考链接:

    如何下载Android源码
    Android相关源码仓库目录
    关于Android 源码编译的问题,文章android-kernel-clang以及作者Nathan Chancellor帮了不少的忙!
    Android Emulator Linux DevelopmentAndroid 源码中的一个文章,或多或少参考了了一丢丢

    展开全文
  • 这个文档是教大家在Android模拟器上安装格式为apk的文件,安装成功后可以在模拟器上运行安装成功的软件。
  • 基于文件特征的Android模拟器检测
  • 在导入图片时必须注意你的模拟器的分辨率和density 例如 ,我的模拟器的尺寸为HVGA,即分辨率为320*480,density为160. 所以在导入图片时应该注意: drawable-mdpi 中density=160,所以你必须导入320*480 px 的...
  • Android 模拟器一直以运行速度慢著称, 本文介绍使用 Intel HAXM 技术为 Android 模拟器加速, 使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题。Intel HAXM (Hardware Accelerated Execution Manager) 使用...
  • Android模拟器Root

    千次阅读 2018-09-21 11:24:52
    Android模拟器Root前言需要的准备的资料操作步骤一、进入Android SDK的安装目录二、以可写方式启动模拟器三、安装Supersu.apk四、向系统添加su文件五、修改su文件权限六、安装su二进制文件,设置后台守护程序七、...

    前言

    安卓开发,免不了要用到root权限查看data/data/com.xxx.xxx/里的文件内容进行操作,虽然android的内核是linux系统,但是在的android中并没有提供su文件,所以无法进行linux下的sudo命令。我们需要向root的系统中添加su文件,同时改变su的权限。

    需要的准备的资料

    1. supersu.apk 手机root后进行授权管理的软件
    2. supersu.zip 包括su二进制文件等
      下载地址http://www.supersu.com/download,页面中分为APK和ZIP两个部分,分别对应上面的两个文件,如果不想使用GooglePlay下载apk,可以下载History里的最后一版。本文用的版本为SuperSU V2.79 ,Recovery V2.79 Flashable.zip
      本文所有操作均在Mac OS下执行。

    操作步骤

    一、进入Android SDK的安装目录

    Android SDK在我的电脑上目录为:/Users/[系统用户名]/Library/Android/
    打开terminal进入到安装目录的tools目录

    $ cd /Users/[系统用户名]/Library/Android/sdk/tools/
    

    为什么要进到这个目录呢?因为下一步要用到的emulator命令在这个目录里,这样方便操作。

    二、以可写方式启动模拟器

    $ emulator -avd Pixel_XL_API_26 -writable-system
    

    注:Pixel_XL_API_26为模拟器名称,可以先执行$ emulator -list-avds命令获取所有模拟器名称列表。
    这时候会显示
    emulator: WARNING: System image is writable
    说明启动可写方式成功,但此时terminal处于等待状态,无法再进行操作,如果关闭当前terminal,打开的模拟器也会随之关闭。所以需要再重新打开一个terminal进行后续操作。

    三、安装Supersu.apk

    进入到刚刚下载的supersu.apk的目录,然后执行如下命令

    $ adb -e install SuperSU-v2.79-20161205182033
    

    如果显示如下信息,说明安装成功。

    SuperSU-v2.79-20161205182033.apk: 1 fi.... 184.7 MB/s (6581871 bytes in 0.034s)
    	pkg: /data/local/tmp/SuperSU-v2.79-20161205182033.apk
    Success
    

    注意:!!!将super.apk 安装到模拟器后先不要运行此App!!!

    四、向系统添加su文件

    将下载好的supersu.zip 文件解压,你能看到里面有很多文件夹中都包含su文件。我的模拟器模拟器是Androidx86,所以我在x86文件夹下找到su.pie文件,如果你的android版本是5.1和大于5.1版本的系统使用su.pie比su文件更合适,可以避免出现一些不必要的问题。
    其实用AVD Manager创建的话那个ABI就是的 对应的目录名称
    另外x86_64就是x64,x86对应的是x86
    还有如果文件夹内没有su.pie,没必要一定找那个,su也可以的,只不过优先su.pie的意思。
    在这里插入图片描述
    接下来执行如下命令:
    首先要确保进入abi对应的su.pie所在目录
    命令的大致意思为:在root状态下 adb remount 的意思是 重新挂载系统分区,使系统分区重新可写,一般情况下system下面的文件斯不允许只读的。通过push的方式将su.pie拷贝到/system/xbin/su文件中

    $ adb root
    adbd is already running as root
    $ adb remount
    remount succeeded
    $ adb -e push su.pie /system/xbin/su
    adb: error: cannot stat 'su.pie': No such file or directory
    $ ls
    libsupol.so	su		suinit		sukernel	supolicy
    $ adb -e push su /system/xbin/su
    su: 1 file pushed. 25.3 MB/s (104680 bytes in 0.004s)
    

    看上面的命令是执行在x64的模拟器上,在push su.pie的时候报错了,不存在这个文件,所以在x64架构下直接su就可以了。

    五、修改su文件权限

    执行如下命令:

    $ adb -e shell
    root@generic_x86_64:/ # su root
    root@generic_x86_64:/ # cd /system/xbin
    root@generic_x86_64:/system/xbin # chmod 06755 su
    root@generic_x86_64:/system/xbin # ls -l
    

    查看su的权限如果是下面的结果则表示成功修改权限:

    -rwsr-sr-x root     shell      104680 2008-02-29 10:33 su
    

    六、安装su二进制文件,设置后台守护程序

    # su --install
    # su --daemon&
    

    显示类似如下结果则表示成功

    [1] 4323
    

    七、设置SELinux的限制

    设置SELinux的限制,主要是关闭SELinux,这个命令的具体执行位置没有具体的固定,但貌似在最后执行没有什么问题

    $ setenforce 0
    

    八、安装Root Explorer

    安装这个软件后即可进行系统目录的文件操作了。软件请自行搜索下载。

    写在最后

    如果打开supersu提示错误,可能是su文件不匹配造成的。请尝试从第一步重新安装。在初次打开supersu时,可能提示版本更新,可以直接忽略。选择new user就行。在打开root explorer进行系统目录操作时,会提示root授权,点击grant即可。
    还有就是root后无法通过Avd manager进行启动,需要使用命令行启动

    emulator -avd Pixel_XL_API_26 -writable-system
    

    至此模拟器就成功root。尽情享受吧。

    展开全文
  • MAC 平台开发Android应用,使用的模拟器genymotion-2.12.0
  • 主要介绍了使用adb命令向Android模拟器中导入通讯录联系人的方法,实例分析了导入通讯录存储文件的技巧,需要的朋友可以参考下
  • Android模拟器报”Failed To Allocate memory 8″错误的解决办法Android在启动模拟器AVD时,出现下面的异常:“Failed to allocate memory: 8”,怎么办?此错误是我们在允许AVD时,选择了默认的AVD插件所致。解决...
  • 如何在Android模拟器中模拟GPS位置?

    千次阅读 2020-01-30 13:05:52
    我想在Android模拟器中获取经度和纬度以进行测试。 谁能指导我如何实现这一目标? 如何将仿真器的位置设置为测试位置?
  • 1.Jdk环境先装 2.下载安装Android SDK 基础包:http://tools.android-studio.org/index.php/sdk 选择linux版本下载(wget url) 解压缩: tar zxvf tgz包 ...因为模拟器需要有system.img文件,才能创建出来 所以...
  • Android-emulator-skins:由Google制造的官方Android模拟器皮肤

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 127,099
精华内容 50,839
关键字:

android模拟器