【问题标题】:React Native : Change targeted sdk version for play store uploadReact Native:更改 Play 商店上传的目标 sdk 版本
【发布时间】:2026-02-17 01:25:02
【问题描述】:

在 Play 商店中,我尝试上传我的应用,但收到警告,如下所述:

2018 年 8 月的目标 API 级别要求

警告

您的应用当前面向 API 级别 22,并且必须至少面向 API 级别 26,以确保其构建在针对安全性和性能进行了优化的最新 API 之上。

从 2018 年 8 月起,新应用必须至少面向 Android 8.0(API 级别 26)。 从 2018 年 11 月起,应用更新必须针对 Android 8.0(API 级别 26)。

【问题讨论】:

  • ...和?目前还不是很清楚你要在这里完成什么
  • *.com/questions/49140950/… 如果你仍然需要,你也可以试试那个解决方案,我就是这样解决的

标签: react-native react-native-android


【解决方案1】:

android/app/下打开build.gradle

找到android { }

将以下版本更改为以下:

compileSdkVersion 27
buildToolsVersion "27.0.3"
minSdkVersion 16
targetSdkVersion 27

在依赖项块中,更改appcompat 行以匹配目标版本

compile "com.android.support:appcompat-v7:27.1.1"

【讨论】:

  • 我更改了 26 的所有内容,但它只是忽略它并继续使用 27...
  • 我们如何找到最新的compileSdkVersionbuildToolsVersionminSdkVersiontargetSdkVersion 的号码。新应用现在必须针对 API 级别 28,我不知道从哪里获得相应的 buildToolsVersion
【解决方案2】:

如果您当前的 android/app/build.gradle 有类似的线条

compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion

您必须编辑 android/build.gradle 以包含

buildscript {
    ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 21
        compileSdkVersion = 28
        targetSdkVersion = 28
        supportLibVersion = "28.0.0"
    }
    ...
}

虽然我不知道从哪里获得最新版本。

如果有人可以编辑此内容以包含获取最新版本号的位置,那就太好了

【讨论】:

  • 那个 buildscript 块是在 build.gradle 文件的根目录吗?
  • @micahhoover This is the file
【解决方案3】:

只需在 ./android/app/build.gradle 中将 targetVwersion 更改为 26

【讨论】:

    【解决方案4】:

    自 2021 年 8 月起,API 级别应为 30 或以上。

    我有 React Native 应用程序和我的android/app/build.gradle looks,如下所示

    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    

    将 android/build.gradle 更改为具有以下有效的内容

    buildscript {
        ext {
            buildToolsVersion = "30.0.2"
            minSdkVersion = 21
            compileSdkVersion = 30
            targetSdkVersion = 30
            ndkVersion = "20.1.5948944"
        }
    ....
    

    【讨论】:

      【解决方案5】:

      对于@Bodhish 提到的maven 部分,我需要这样做:

      allprojects {
          repositories {
              mavenLocal()
              jcenter()
              maven {
                  url 'https://maven.google.com'
              }
              maven {
                  // All of React Native (JS, Obj-C sources, Android binaries) 
                  // is installed from npm
                  url "$rootDir/../node_modules/react-native/android"
              }
          }
      }
      

      除了@albert 的评论之外,还为我解决了这个问题。

      【讨论】: