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

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

相关推荐
振华OPPO11 分钟前
我的5周年创作纪念日,不忘初心,方得始终。
android·java·android studio·安卓·安卓app
开 端5 小时前
文件批量添加水印和密码合并单元格完整版
java·ide·spring
周杰伦的稻香7 小时前
MySQL5.7-虚拟列
android
ehviwer238 小时前
MathType7.9绿色和谐版激活补丁包下载
android·macos·ios·cocoa·媒体
无问社区9 小时前
tp6.0.8反序列化漏洞的一些看法
android
小ᶻᶻᶻ9 小时前
使用 uni-app 开发微信小程序的详细指南
android
严文文-Chris9 小时前
【设计模式-外观】
android·java·设计模式
tjjingpan10 小时前
vscode c++编译环境配置
c++·ide·vscode
李少兄11 小时前
解决项目启动时报“找不到符号”问题
java·ide·intellij-idea
我又来搬代码了11 小时前
【Android】【Bug】Activity全屏(保留底部按钮)被打断变成非全屏了
android·bug