React Native :依赖关系的AAR元数据中指定的minCompileSdk(31)大于此模块的compileSdkVersion(android-30)[已关闭]

k4aesqcs  于 2022-12-09  发布在  Android
关注(0)|答案(2)|浏览(165)

已关闭。此问题需要更多focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

11天前关闭。
Improve this question
我正在使用React Native:

npx react-native run-android

我有很多其他的解决方案。比如强制或更新targetsdk版本和编译SDK版本,但是都不起作用。
我尝试将compileSdkVersion 30更改为compileSdkVersion 31,并将targetSdkVersion 30更改为targetSdkVersion 31。

问题

依赖项的AAR元数据(META-INF/com/android/build/gradle/ www.example.com)中指定的minCompileSdk(31)aar-metadata.properties高于此模块的compileSdkVersion(android-30)。

Dependency: androidx.appcompat:appcompat:1.4.1.

我构建的.gradle文件

第一次

ccrfmcuu

ccrfmcuu1#

这是因为自2022-11-04以来的Android build issue。我已经通过基于报告添加几行代码来解决这个问题。
您可以在 android/build.gradle 文件的allprojects区域中添加此文件。

def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())

allprojects {
    configurations.all {
        resolutionStrategy {
            // Remove this override in 0.65+, as a proper fix is included in react-native itself.
            force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
        }
    }

在我的例子中,我已经把它添加到了存储库下面。

allprojects {
    repositories {
        google()
        mavenCentral()
    }
    configurations.all {
        resolutionStrategy {
            // Remove this override in 0.65+, as a proper fix is included in react-native itself.
            force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
        }
    }
}
0h4hbjxa

0h4hbjxa2#

有两种方法可以解决此问题:
1.使用以下版本0.63.5 for react-native。它不会影响其他库。
1.在 android/build.gradle 文件中添加以下内容。

allprojects {
 ...old configuration project
// Add the following
    configurations.all {
        resolutionStrategy {

            force "com.facebook.react:react-native:{your_reactnative_version}"
        }
    }
}

以下链接提供了有关此问题的完整详细信息。

相关问题