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

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

相关推荐
小江村儿的文杰5 小时前
XCode Build时遇到 .entitlements could not be opened 的问题
ide·macos·ue4·xcode
为什么每天的风都这么大6 小时前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server
长亭外的少年6 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
建群新人小猿9 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
1024小神10 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
兰琛10 小时前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee
Y多了个想法11 小时前
RK3568 android11 适配敦泰触摸屏 FocalTech-ft5526
android·rk3568·触摸屏·tp·敦泰·focaltech·ft5526
芝麻团坚果12 小时前
对subprocess启动的子进程使用VSCode python debugger
linux·ide·python·subprocess·vscode debugger
NotesChapter12 小时前
Android吸顶效果,并有着ViewPager左右切换
android
小码ssim12 小时前
IDEA使用tips(LTS✍)
java·ide·intellij-idea