首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过Android Studio/react native中的DependencyResolution手动设置相同版本(编译和运行时类路径

在 Android Studio 中使用 React Native 时,有时需要手动设置依赖项的版本,以确保编译和运行时类路径中的依赖项版本一致。这通常涉及到在 android/build.gradle 文件中进行配置。

以下是如何通过 DependencyResolution 手动设置相同版本的步骤:

1. 打开 android/build.gradle 文件

在你的 React Native 项目中,导航到 android/build.gradle 文件。

2. 配置 allprojects 部分

allprojects 部分中,添加 resolutionStrategy 来强制所有模块使用相同版本的依赖项。以下是一个示例,展示了如何设置 com.android.supportcom.google.android.gms 的版本:

代码语言:javascript
复制
allprojects {
    repositories {
        google()
        mavenCentral()
    }

    configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v4:28.0.0'
            force 'com.google.android.gms:play-services-base:17.6.0'
            // 添加其他需要强制的依赖项版本
        }
    }
}

3. 配置 subprojects 部分(可选)

有时,你可能需要在 subprojects 部分中进行额外的配置,以确保所有子项目都使用相同的依赖项版本:

代码语言:javascript
复制
subprojects {
    project.configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v4:28.0.0'
            force 'com.google.android.gms:play-services-base:17.6.0'
            // 添加其他需要强制的依赖项版本
        }
    }
}

4. 同步项目

完成上述配置后,点击 Android Studio 顶部的 "Sync Project with Gradle Files" 按钮,以应用更改并同步项目。

示例完整的 android/build.gradle 文件

以下是一个完整的 android/build.gradle 文件示例:

代码语言:javascript
复制
buildscript {
    ext {
        buildToolsVersion = "30.0.3"
        minSdkVersion = 21
        compileSdkVersion = 30
        targetSdkVersion = 30
        kotlinVersion = "1.5.10"
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:4.2.1")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }

    configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v4:28.0.0'
            force 'com.google.android.gms:play-services-base:17.6.0'
            // 添加其他需要强制的依赖项版本
        }
    }
}

subprojects {
    project.configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v4:28.0.0'
            force 'com.google.android.gms:play-services-base:17.6.0'
            // 添加其他需要强制的依赖项版本
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

5. 处理冲突的依赖项

如果你在同步项目时遇到依赖项冲突,可以使用 resolutionStrategyeachDependency 方法来处理冲突。例如:

代码语言:javascript
复制
allprojects {
    repositories {
        google()
        mavenCentral()
    }

    configurations.all {
        resolutionStrategy {
            eachDependency { DependencyResolveDetails details ->
                if (details.requested.group == 'com.android.support' && details.requested.name != 'multidex') {
                    details.useVersion '28.0.0'
                }
                if (details.requested.group == 'com.google.android.gms') {
                    details.useVersion '17.6.0'
                }
            }
        }
    }
}
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

react native调试

进入到你的项目(绝对路径不要带中文)。 ios ios执行react-native run-ios 该命令会调起Xcode的自带iPhone模拟器。...android 安卓执行react-native run-android 接下来把安卓模拟器也配置好: 用android studio打开rn项目, 就可以打开模拟器。...如何在模拟器器上开启Developer Menu Android模拟器: 可以通过 Command⌘ + M 快捷键来快速打开Developer Menu。也可以通过模拟器上的菜单键来打开。...errors:React Native程序运行时出现的Errors会被直接显示在屏幕上,以红⾊的背景显示,并会打印出错误信 息。...Warnings :React Native程序运行时出现的Warnings也会被直接显示在屏幕上,以黄⾊的背景显示,并会打印出警 告信息。

3.3K30

ReactNative报错记录以及原因分析 ReactNative报错记录

中查看network信息 ReactNative项目运行的两种方式 命令行运行(ReactNative项目根目录下)react-native run-android android studio中运行...2.设置项目名称在AppDelegate.m和index.ios.js中不一致,或者在主业务逻辑页面中的名称不一致,如下图所示。...报错描述: 在android studio中启动ReactNative项目的时候报错,报错信息如上。通过命令行react-native run-android启动ReactNative项目不会报错。...问题描述: Android studio中能正常通过“react-native start” 的方式正常启动APP混编项目中RN界面。...后期通过react-native run-android的方式启动项目,需要支持自定义APP启动类的路径,而不是默认放在项目的根路径下,并且是MainActivity这个默认类。

4.9K10
  • Android Studio 遇到问题集锦

    在 Android Studio 里编译通过之后,命令行使用 gradlew build 为什么还是会重新下载 Gradle?...一种方法是如果本地有能编译通过的其它工程,修改 compileSdkVersion 和 buildToolsVersion 及 dependencies 里的版本为能编译通过的工程的版本;另一种方法是将对应的依赖包...,发现里面果然还存在代理的设置信息,删除之后重启 Android Studio,问题解决。...Generate JavaDoc 提示“错误: 编码GBK的不可映射字符” 所有相关文件的编码都是 UTF-8,在 Android Studio 里没有找到设置 JavaDoc 相关的编码设置项,于是在...原因是我在 Project Settings 的 SDK Location 里手动指定了 JDK 的版本,但是后来升级了 JDK,所以原有路径失效了。

    6.7K20

    React Native初探--从安装运行首个app到填坑指南

    Android Studio的下载地址请看:https://developer.android.google.cn/studio/#downloads 安装方式:指定安装路径,一直点击下一步就可以了...SDK和安卓模拟器: 打开Android Studio,File --> Settings --> 搜索sdk,找到对应的sdk进行安装即可,这里也可以选择安装模拟器,找到对应的勾选进行下载即可。...需要在Path环境变量中添加两个值。分别是 Android SDK中tools目录的路径和platform-tools的路径。(如果已经配置,就不用再去配置了。)...创建项目 (二)手动打开安卓模拟器 可以使用脚本打开, (二)编译并运行 React Native 应用 在刚创建的rn项目根目录,打开命令行,输入react-native run-android命令,...gradle的一次错 建议:把项目里面的android目录导入到Android Studio,让Android Studio工具帮你自动构建。

    1.8K30

    Android Studio 遇到问题集锦

    在 Android Studio 里编译通过之后,命令行使用 gradlew build 为什么还是会重新下载 Gradle?...一种方法是如果本地有能编译通过的其它工程,修改 compileSdkVersion 和 buildToolsVersion 及 dependencies 里的版本为能编译通过的工程的版本;另一种方法是将对应的依赖包...,发现里面果然还存在代理的设置信息,删除之后重启 Android Studio,问题解决。...Generate JavaDoc 提示“错误: 编码GBK的不可映射字符” 所有相关文件的编码都是 UTF-8,在 Android Studio 里没有找到设置 JavaDoc 相关的编码设置项,于是在...原因是我在 Project Settings 的 SDK Location 里手动指定了 JDK 的版本,但是后来升级了 JDK,所以原有路径失效了。

    5.4K30

    React-Native android在windows下的踩坑记

    你需要先安装最新版本的node.js(我最后使用的是v4.1.2),前往官网下载>> 注:我win7已经安装过Visual Studio 2013和Android开发环境(也踩了不少坑,后面有截图...platform=android 保留packager的dos窗口,新建另外一个dos窗口,切换至项目目录下:react-native run-android 报错了,你需要设置...-2-0-start-up-error-java-lang-nullpointerexception 最后启动Android Studio后,打开SDK Manager,设置镜像后,下载安装指定的SDK...DOS窗口,启动应用:react-native run-android ------- update by 2015/11/30 使用最新版本的react-native(0.15.0),因为之前本机已经成功运行过...platform=android 正常,我就纳闷了,折腾了好久:包含升级node.js版本为(结果发现没用),重新编译(react-native  run-android --refresh-dependencies

    1.8K30

    React-day1

    :(React Native)市场需求量大,好找工作,提高我们的行业竞争力 能接触到前端流行的技术和框架(各大公司基本都再用React),注意:再React中我们全部都使用ES6语法(class) 前端是一个永恒的行业...大多数情况下操作系统自带C++环境,不需要手动安装C++环境; 如果运行报错,则需要手动安装visual studio中的C++环境; 安装Git环境 Git安装完毕后,会自动配置到系统环境变量中;...配置安卓环境 安装installer_r24.3.4-windows.exe,最好手动选择安装到C盘下的android目录 打开安装的目录,将android-25、android-23(react-native...文件夹和support文件夹,放到新建的extras -> android文件夹下 配置安装环境变量:在系统环境变量中新建ANDROID_HOME,值为android SDK Manager的安装路径C...创建React-Native项目 运行cd AwesomeProject切换到项目根目录中,运行adb devices来确保有设备连接到了电脑上 运行react-native run-android打包编译安卓项目

    2.2K20

    React Native学习笔记(二)—— 概要、开发环境搭建、第一个React Navite程序

    快速编译:相比原生的ios 和 android app各自维护一套业务逻辑大同小异的代码,React Native 只需要同一套javascript 代码就可以运行于ios 和 android 两个平台...Native 命令行界面、JDK 和 Android Studio。...虽然您可以使用您选择的任何编辑器来开发您的应用程序,但您需要安装 Android Studio 才能设置必要的工具来构建适用于 Android 的 React Native 应用程序。...2.2.3、Android Studio安装 双击运行 点击 Next 下一步 点击 Next 下一步  默认会给你装到C盘,这里我修改到了G盘(PS: 这里一定要改路径,否则随着你开发过程中,你的...run-android 如果一切设置正确,您应该很快就会看到您的新应用程序在Android模拟器中运行。

    3.6K21

    新奇篇 之 Mac 配置 React Native 0.56

    React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。...3 配置基本环境 首先要明确俩点: 必须安装的依赖有:Node、Watchman 和 React Native 命令行工具以及 JDK 和 Andriod Studio。...虽然你可以使用任何编辑器来开发应用(编写 JS 代码),但你仍然必须安装 Android Studio 来获得编译 Android 应用所需的工具和环境。...这里列举出几个需要注意的细节: Android SDK Build-Tools 选项中,确保选中了 React Native 所必须的 26.0.3 版本; 配置 ANDROID_HOME 环境变量...通过 cd 命令进入到项目目录地址中,接着开启 npm: cd 项目名称(地址) npm start 操作如下图: ?

    94420

    从Android到React Native开发(一、入门)

    相对ionic这类PhoneGap,它效率更高,和原生之间的交互更方便。 多个版本迭代后的今天,它已经拥有了丰富第三方插件支持。 React Native解决不了的,可以通过各位熟悉的原生来解决。...相反,把React Native作为项目开发中的补充,可以在一定程度上实现平台业务的统一,还有灵活的开发效率,补充原生的不足。 ? 此时此刻,此情此景 如何入门?...带着Android开发来理解React Native 1、开发环境 Android开发转过来的,推荐Webstrom,因为它和Android Studio同出一家,快捷键、插件、git版本管理等等基本不需要二次学习...这里需要理解的是: package.json,类似于android studio中的build.gradle添加远程依赖,不同的是,package.json大多数时候不需要我们手动添加,我们只需要在根目录通过命令行...5)编译调试 编译其实很简单,android其实就是在项目的根目录终端输入react-native run-android就可以编译安装,IOS本人习惯是,通过点击ios文件目录下的xcodeproj文件

    1.3K20

    从Android到React Native开发(一、入门)

    相对ionic这类PhoneGap,它效率更高,和原生之间的交互更方便。 多个版本迭代后的今天,它已经拥有了丰富第三方插件支持。 React Native解决不了的,可以通过各位熟悉的原生来解决。...相反,把React Native作为项目开发中的补充,可以在一定程度上实现平台业务的统一,还有灵活的开发效率,补充原生的不足。 [此时此刻,此情此景] 如何入门?  ...带着Android开发来理解React Native 1、开发环境  Android开发转过来的,推荐Webstrom,因为它和Android Studio同出一家,快捷键、插件、git版本管理等等基本不需要二次学习...这里需要理解的是:  package.json,类似于android studio中的build.gradle添加远程依赖,不同的是,package.json大多数时候不需要我们手动添加,我们只需要在根目录通过命令行...5)编译调试  编译其实很简单,android其实就是在项目的根目录终端输入react-native run-android就可以编译安装,IOS本人习惯是,通过点击ios文件目录下的xcodeproj

    1.2K20

    React Native之打包

    用React Native开发好APP之后,如何将APP发布到市场以供用户使用呢?不管是Android还是ios等原生app走的都是:签名打包—>发布到各store这两大步骤。...Android平台打包 在Android原生的app开发打包过程中,主要有两种发布方式:一种是借助于命令行操作,另外一种是借助于Android Studio进行发布。...创建assets文件,当然也可以手动创建 mkdir -p Android/app/src/main/assets 生成js bundle文件 React-native bundle --platform...解决方法: 1.3.1 进入手机的 设置 关于手机 连续点击 MIUI版本 7次,成为开发者 1.3.2 设置 更多设置 开发者选项 启用USB调试,拉到最底部,关闭 启用MIUI优化,重启手机...1)导出js bundle包和图片资源 和打包React Native Android应用一样,我们首先也需要对JS部分的代码和图片资源等打包导出,然后通过XCode将其添加到iOS项目中。

    2K60

    Android 增加JNI

    需要交互的本地代码 实现在 Java中声明的Native方法 编译.so库文件 通过Java命令执行 Java程序,最终实现Java调用本地代码 如 Java 需要与 C++ 交互,那么就用C++实现...,并自动将so和应用一起打包成 APK 即可通过NDK在 Android中 使用 JNI与本地代码(如C、C++)交互 应用场景:在Android的场景下 使用JNI 即 Android开发的功能需要本地代码...方法 使用 Android需要交互的本地代码 实现在Android中声明的Native方法 比如 Android 需要与 C++ 交互,那么就用C++ 实现 Java的Native方法 通过 ndk...具体使用 本文根据版本的不同介绍了两种在Android Studio中实现 NDK的方法:Android Studio2.2 以下 & 2.2以上 4.1 Android Studio2.2 以下实现NDK...注,要和上述步骤中build.gradle中NDK节点设置的名字相同 LOCAL_SRC_FILES := test.cpp // 指定参与模块编译的C/C++源文件名 include

    1.5K40

    Android:JNI 与 NDK到底是什么?(含实例教学)

    增强 Java 与 本地代码交互的能力 1.3 实现步骤 在Java中声明Native方法(即需要调用的本地方法) 编译上述 Java源文件javac(得到 .class文件) 通过 javah 命令导出...+的动态库,并自动将so和应用一起打包成 APK 即可通过 NDK在 Android中 使用 JNI与本地代码(如C、C++)交互 应用场景:在Android的场景下 使用JNI 即 Android...实现在Android中声明的Native方法 比如 Android 需要与 C++ 交互,那么就用C++ 实现 Java的Native方法 通过 ndk - bulid 命令编译产生.so库文件...具体使用 本文根据版本的不同介绍了两种在Android Studio中实现 NDK的方法:Android Studio2.2 以下 & 2.2以上 4.1 Android Studio2.2 以下实现NDK...中NDK节点设置的名字相同 LOCAL_SRC_FILES := test.cpp // 指定参与模块编译的C/C++源文件名 include $(BUILD_SHARED_LIBRARY

    3.4K21

    Flutter 与 React Native - 详细深入对比分析(2024 年)

    Expo CLI 通过提供开发、日志、部署、迭代、编译等工具,简化了新 React Native 应用的创建过程。...来源:Flipper在 Flutter 中,借助支持 Android Studio 和 Visual Studio 的工具,调试变得更加容易。...Flutter允许开发者选择他们的IDE,例如Android Studio或Visual Studio。在React Native中,开发者可以使用Visual Studio或WebStorm等工具。...在React Native 0.71版本中(最初遇到了一些问题),团队专注于通过默认使用TypeScript、架构更新以及通过Flexbox Gap进行布局管理来改善跨平台开发者体验。...这两种版本的热重载功能的缺点是,代码中的高级更改(例如,将无状态组件更改为有状态组件)无法进行热重载。复杂的更改需要重新编译应用。

    90401

    Android Studio 4.0.+NDK .so库生成打包

    =6.1.1,如图文和网上其他资料不一致,可能是别的资料版本较低而已 前言 涉及到一些算法或者底层驱动的时候,往往需要使用jni来开发。....so文件在程序运行时就会加载,所以想使用Java调用.so文件,必有某个Java类运行时load了native库,并通过JNI调用了它的方法。...程序,将库放入程序中运行 将生成的.so库放入lib文件夹中 之前生成.so文件函数的类,在调用程序中依然需要相同的包名、文件名及方法名 可以将库的加载放在java文件中,当程序启动时会自动加载....小结 在Android Studio自动创建的native C++项目默认支持CMake方式,它支持JNI函数调用的入口在build.gradle中。...传统生成.so方案 使用该种方案生成.so文件一定要先配置好NDK,如果不清楚如何配置NDK,请阅读一篇关于配置NDK的博文《Android Studio 4.0.+NDK项目开发详细教学》。

    1.6K40

    React Native调试方法

    更进一步你可能想在添加新文件到JavaScript包中时保持app运行新的版本,可以通过选择开发者菜单中的“Enable Hot Reloading”来打开。这可以让你在重载中保持app的状态。...特定的警告可以通过设置要忽略的前缀数组来说的手动忽略:console.ignoredYellowBox = ['Warning:...']...RedBox和YellowBox在发布构建中都是自动关闭的 访问控制台日志 app运行时你可以通过在终端使用下面的命令为iOS和Android app显示控制台日志: react-native...log-ios react-native log-android 你也可以通过在iOS模拟器中访问 Debug -> Open System Log......当使用原生代码时(比如编写原生组件时)你可以和构建标准的原生app一样在Android Studio或者Xcode启动app并获取其调试功能(设置断点等等)。

    3.9K10
    领券