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

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

相关推荐
Digitally2 小时前
如何用5种实用方法将电脑上的音乐传输到安卓手机
android·智能手机·电脑
HahaGiver6663 小时前
Unity与Android原生交互开发入门篇 - 打开Unity游戏的设置
android·unity·交互
2501_915909063 小时前
WebView 调试工具全解析,解决“看不见的移动端问题”
android·ios·小程序·https·uni-app·iphone·webview
IT乐手4 小时前
android 下载管理工具类
android
2501_915106325 小时前
App 怎么上架 iOS?从准备资料到开心上架(Appuploader)免 Mac 上传的完整实战流程指南
android·macos·ios·小程序·uni-app·iphone·webview
科技峰行者6 小时前
安卓16提前发布能否改写移动生态格局
android
蒲公英少年带我飞6 小时前
Android NDK 编译 protobuf
android
沐怡旸7 小时前
【底层机制】ART虚拟机深度解析:Android运行时的架构革命
android·面试
小禾青青7 小时前
uniapp安卓打包遇到报错:Uncaught SyntaxError: Invalid regular expression: /[\p{L}\p{N}]/
android·uni-app
mrsyf7 小时前
VSCode中Copilot的询问、编辑、代理有啥区别?
ide·vscode·copilot