在Mac虚拟机系统上开发ReactNative的IOS应用非常方便,只要安装Xcode即可,  但 Android应用就需要三个步骤:

首先声明,下载Android SDK会非常慢,最好有快速的网络或者可以科学上网。注意:Java SDK需要安装1.8版本, 1.9或者1.8以下的好像是会出错的.

  1  . 下载 Java JDK , Android Studio(主要是为了后期打包和安装Android SDK), Genymotion模拟器(需要先注册才能进入下载页面) ,VirltualBox虚拟机

    该步骤只要下载完毕双击安装即可.

  2 . 安装Android SDK

    安装完成Android Studio后双击打开,一直下一步直到提示安装SDK等选项,继续往下,等待SDK的安装(相当漫长,该过程只要网速好一般不会出现什么问题)安装过程度娘会列出一堆,不再赘述

    参考链接1

    参考链接2

2 .  环境变量配置

    (1) 目前安装Java JDK 的时候貌似不用手动配置环境变量,安装完毕在终端 java(java -version)和 javac( javac -version)都可以输出信息, 如果没有再手动添加

       $ /usr/libexec/java_home , 显示java 安装的路径 如  "/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home"

       $ sudo vim ~/.bash_profile 打开文件添加路径 export JAVA_HOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home

       $ source ~/.bash_profile   立即生效

    (2) 配置Android SDK 环境变量 (在此之前adb 命令时找不到的)

      打开 Android Studio 进入 Configure -> Project Defaults -> Project Structure -> Android SDK Location 复制以下的路径 "/Users/mitu/Library/Android/sdk"

      同样打开 .bash_profile文件 添加以下路径 (提示:这里的$HOME就是用户的根路径/Users/mitu)

 export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

      保存后 source 让文件生效. 再试试 adb devices 就不会报错了.

      

3 . Genymotion和VirltualBox设置   

    安装Genymotion后自行选择添加Add型号,这时候需要登录账号, 然后下载型号,等待完成.

     在Settings -> ADB -> Use Android SDK Tools 添加之前的 android sdk 的路径, 有时候使用默认的也不会有问题.

    配置完成启动模拟器,可能会出现以下错误. 这时候需要关闭mac虚拟机, 在虚拟机设置找到 处理器选项, 将 " 虚拟化 Intel VT-x/EPT" 选项勾上,重新打开虚拟机.

    

    

    

    虚拟技术 Intel VT-x的问题解决了, 但在运行模拟器时又出现以下错误, 问题在于VirtualBox的网络问题

    打开VirtualBox设置, 修改几个地方

      1 ) 常规 -> 基本 将Ubuntu 32-bit改成 64-bit

      2 )系统 -> 处理器 - > 处理器数量 ,设置为不能大于Mac 主机的处理器数量

      3 )  网络 -> 网卡1/网卡2 -> 混杂模式都改为 "全部允许"

      4 ) 网络 -> 网卡1/网卡2 -> 链接方式 -> "网络地址转换NAT"。

    最后重新运行模拟器,正常运行.

    

Mac虚拟机上使用Genumotion模拟器的更多相关文章

  1. 怎么在苹果Mac虚拟机上安装Win7

    怎么在苹果Mac虚拟机上安装Win7 使用 Mac 系统的用户,因为一些软件或是应用的原因,可能需要 Windows 系统才能完成.那如果不想在自己的 Mac 电脑上安装双启动系统的话,我们还可以在 ...

  2. mac虚拟机上(centos系统)怎样实现共享本机文件

    首先加载vboxadditions,可以从https://download.virtualbox.org/virtualbox/下载,记得一定要跟virtualBox版本对应 然后打开virtualb ...

  3. mac虚拟机上(centos系统)设置联网第二种方式

    这种方式简单,不容易出错,用的桥接的方式. 这样的安装的centos会得到ip地址 然后编辑一下网卡配置,使其变为静态得ip 输入命令 # vi /etc/sysconfig/network-scri ...

  4. mac虚拟机上(centos系统)设置联网

    前面介绍了mac安装虚拟机VirtualBox,并在虚拟机上装上了centos,这里在说明一下联网问题. 首先打开centos系统,并输入命令$ ip addr 可得到如下: 发现找不到ip地址,这时 ...

  5. Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7

    第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示

  6. 在VMware Workstation11虚拟机上安装黑苹果

    图文详解如何在VMware Workstation11虚拟机上安装黑苹果Mac OS X 10.10系统-网络教程与技术 -亦是美网络 http://www.yishimei.cn/network/5 ...

  7. [转]VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

    转自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/03/15/1985084.html VMWare提供了三种工作模式,它们是brid ...

  8. windows下使用远程工具登录虚拟机上的Linux、访问虚拟机上的服务 、端口转发、win7 telnet登陆虚拟机

    首先要清楚virtual box如何设置端口转发: 一篇文章: 如何使用VirtualBox进行端口转发 由于默认的方式是用NAT来做虚拟机网络的,因此如果从外网想访问虚拟机的应用会比较麻烦.以前一直 ...

  9. 如何在VMware虚拟机上安装Linux操作系统(Ubuntu)

    作为初学者想变为计算机大牛非一朝一夕,但掌握基本的计算机操作和常识却也不是多么难的事情.所以作为一名工科男,为了把握住接近女神的机会,也为了避免当白痴,学会装系统吧!of course为避免把自己的电 ...

随机推荐

  1. Lombok安装及使用

    为什么要使用Lombok: 虽然一般的IDE(eclipse,Intellij)都有自动生成代码的功能,如:生成setter,getter,toString,equels,hashcode等.但是如果 ...

  2. 分区实践 注意分区名 p2018-01 p2018-02 被解释为同一分区名

    # https://dev.mysql.com/doc/refman/5.6/en/partitioning-columns-range.html'''CREATE TABLE employees ( ...

  3. [development][profile][dpdk] KK程序性能调优

    KK程序: 1. 两个线程,第一个从DPDK收包,通过一个ring数据传递给第二个线程.第二个线程将数据写入共享内存. 2. 第二个内存在发现共享内存已满时,会直接丢弃数据. 3. 线程二有个选项de ...

  4. Java8 in action

    解决的问题: behavior parameterization,即可以把一段code,逻辑作为参数传入: 这样做的目的,当然为了代码抽象和重用,把变化的逻辑抽象出去: 在java中,如果要实现beh ...

  5. 什么是渲染目标(render target)&& 渲染到纹理(Render To Texture, RTT)详解

    渲染到纹理(Render To Texture, RTT)详解 RTT是现在很多特效里面都会用到的一项很基本的技术,实现起来很简单,也很重要.但是让人不解的是网上搜索了半天只找到很少的文章说这个事儿, ...

  6. CSDN论坛 > Delphi > VCL组件开发及应用 DBLookupComboBox用法

    (1)DataSource属性    该属性用于连接要编辑数据的主表数据源(2)DataField属性    该属性用于指定要编辑的数据字段名(3)ListSource属性    .    该属性用于 ...

  7. 动态SQL详解

    动态SQL 在之前用户所编写的PL/SQL程序时有一个最大的特点:就是所操作的数据库对象(例如:表)必须存在,否则创建的子程序就会出问题,而这样的操作在开发之中被称为静态SQL操作,而动态SQL操作可 ...

  8. mmu裸机程序

    硬件平台:JZ2440 init.c     -->  初始化sdram,创建页表 leds.c   -->  使用init.c初始化的VA地址控制led start.s  -->  ...

  9. linux init命令

    init命令用于切换到指定的运行级别,用法如下: [root@localhost ~]# init //关机 [root@localhost ~]# init //切换到单用户模式/救援模式 [roo ...

  10. 并发编程---互斥锁---互斥锁与join的区别

    互斥锁 互斥锁:就是把多个进程并发,修改成一块共享数据的操作变成串行,保证是一个一个来修改的. 缺点:效率低,加锁过程复杂 优点:增加了安全性 from multiprocessing import ...