Android Studio 与 夜神模拟器初始化 React-Native 0.72

Android Studio 与 夜神模拟器初始化 React-Native 0.72

  1. 安装Android Studio 编辑器(取消安装自带的虚拟器)
  2. 按照官方教程把npm, yarn, JDK17 环境配置好。https://reactnative.cn/docs/environment-setup
  3. SDK 管理器勾选安装以下(具体我不清除哪几个真的用到)
    Android SDK Platform
    Android API 35 下的:Android SDK Platform 35, Sources for Android 35
    Android API 34 下的:Android SDK Platform 34
    Android 13.0 (Tiramisu)下的:Android SDK Platform 33
    SDK Tools
    Android SDK Build-Tools 35 下的:35.0.0,34.0.0,30.0.3
    底部的 Android Emulator , Android SDK Platform-Tools

装好后 Settings 搜索 adb, Build下的Debugger 里的底部有个 Enable adb mDNS for wireless debugging 取消勾选。

  1. 打开一个英文路径下,自己创建的文件夹
  2. 打开一个shell 窗口
  3. 执行
    npm uninstall -g react-native-cli @react-native-community/cli
    npx @react-native-community/cli0.72 init AwesomeProject --version 0.72
  4. 修改Gradle获取方式为本地文件 ,提前从阿里云下载 gradle-8.0.1-all.zip
    https://mirrors.aliyun.com/gradle/distributions/v8.0.1/gradle-8.0.1-all.zip
    打开 AwesomeProject 项目下的
    AwesomeProject/android/gradle/wrapper/gradle-wrapper.properties
properties 复制代码
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=file:///D:/VUE/Git/.gradle/wrapper/dists/gradle-8.0.1-all.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
  1. 配置镜像源
    AwesomeProject/android/build.gradle
gradle 复制代码
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "33.0.0"
        minSdkVersion = 21
        compileSdkVersion = 33
        targetSdkVersion = 33

        // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
        ndkVersion = "23.1.7779620"
    }
    repositories {
//        google()
        maven{ url 'https://maven.aliyun.com/repository/google'}
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle")
        classpath("com.facebook.react:react-native-gradle-plugin")
    }
}
  1. 启动,等待漫长的下载过程,大概几个小时吧,反正我用了一周时间反复尝试才成功的。

    cd .\AwesomeProject
    yarn android

  2. 安装 夜神模拟器,我的安装路径为 D:\Nox

  3. 查看Android studio 与 Nox 的adb版本是否对应
    打开 D:\Nox\bin目录,在此处打开一个shell,然后执行
    .\nox_adb version

shell 复制代码
 .\nox_adb version
Android Debug Bridge version 1.0.32  #我没配置前是大概是这个,记不得了
Version 35.0.2-12147458
Installed as D:\Nox\bin\nox_adb.exe
Running on Windows 10.0.19045

Nox 的 adb 版本是 1.0.32

然后执行:

shell 复制代码
PS D:\Nox\bin> adb version
Android Debug Bridge version 1.0.41
Version 35.0.2-12147458
Installed as D:\VUE\Git\Java_Android\sdk\platform-tools\adb.exe
Running on Windows 10.0.19045

Android Studio 的 adb 版本是 1.0.41

此时可以看到 Nox 的adb版本低于 Android Studio 的 adb 版本,这会导致安装时一直重新reset 链接或者报错。

  1. 将Android Studio 的 adb 复制到 Nox 的 adb
    我参考了 https://blog.csdn.net/weixin_43244083/article/details/132587575 这篇文章
    操作就是把 D:\VUE\Git\Java_Android\sdk\platform-tools 文件夹下的 3 个文件复制到 D:\Nox\bin 目录替换旧的。

    然后把原来的 nox_adb.exe 重命名为adb_nox_bf.exe 以防之后错误,可以重新改回来。再把复制过来的adb.exe 改为 adb_nox.exe。
  2. 链接 Android Studio 的adb , shell 里执行,你可把它放到一个自己创建的 bat 脚本里,然后搞个快捷键就方便以后连接了。
    nox_adb.exe connect 127.0.0.1:62001
  3. 为了防止配置加载不同步,现在把Nox , Android Studio都关了,然后再次启动他们
  4. 启动好后链接 Android Studio 的 adb , nox_adb.exe connect 127.0.0.1:62001
  5. 进入AwesomeProject 执行启动。
    yarn android

我的配置就这些要点,搞了一周才勉强弄好,希望可以帮到你哦。

相关推荐
skywalk816317 小时前
FreeBSD系统安装VSCode Server(未成功,后来是在FreeBSD系统里的Linux虚拟子系统里安装启动了Code Server)
ide·vscode·编辑器·freebsd
Aileen_0v017 小时前
【Gemini3.0的国内use教程】
android·人工智能·算法·开源·mariadb
浩浩的代码花园18 小时前
自研端侧推理模型实测效果展示
android·深度学习·计算机视觉·端智能
踢球的打工仔1 天前
PHP面向对象(7)
android·开发语言·php
安卓理事人1 天前
安卓socket
android
时光追逐者1 天前
Visual Studio 2026 现已正式发布,更快、更智能!
ide·c#·.net·visual studio
安卓理事人1 天前
安卓LinkedBlockingQueue消息队列
android
万能的小裴同学1 天前
Android M3U8视频播放器
android·音视频
q***57741 天前
MySql的慢查询(慢日志)
android·mysql·adb
JavaNoober1 天前
Android 前台服务 "Bad Notification" 崩溃机制分析文档
android