如何在EXPO项目中增加Android项目的minSdk版本?

3
在EXPO托管项目中,有一种方法可以增加Android构建的minSdk版本吗?
我正在使用带有本地代码的自定义开发客户端。当我运行Android构建命令时,我遇到了以下错误:Manifest合并失败:uses-sdk:minSdkVersion 21不能小于在库[com.squareup.sdk.in-app-payments:buyer-verification:1.5.4]中声明的版本24。
非常感谢您的任何帮助。
谢谢。

你解决这个问题了吗? - Scott
不,我不能。我使用了一种解决方法,就是禁用导致问题的插件中的检查。 - Victor Glez
@VictorGlez 你是如何找到导致这个错误的插件的?我似乎找不到方法来做到这一点。 - NewUser134
@NewUser134 在我的情况下,插件是Square支付插件。然后我通过Expo插件修改了Android清单以忽略错误,但最终错误仍然存在。这是一个不太优雅的解决方案,但到目前为止应用程序运行良好,没有问题。 - Victor Glez
@VictorGlez 谢谢您的回复。我后来也解决了我的问题。我遇到的大部分问题都来自我的jdk版本。我使用的是最新版本,即17。我切换到Java 11版本,问题就消失了。似乎大多数库还没有与最新版本兼容,这在某种程度上是可以预料的,因为它是新的。 - NewUser134
3个回答

4
有一个expo插件可以管理你的gradle属性。
它被称为expo-build-properties
安装后,你将能够向你的expo应用配置中添加一个minSdkVersion,就像这样:
{
// ...
  plugins: [
    [
      "expo-build-properties",
      {
        android: {
          minSdkVersion: 23
        }
      }
    ],
  ]
}


3

-1
在根目录下的android/build.gradle文件中应该有一个设置:

buildscript {
    ext {
        buildToolsVersion = "30.0.2"
        minSdkVersion = 24
        compileSdkVersion = 30
        targetSdkVersion = 30
        ndkVersion = "21.4.7075529"
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:4.2.2")
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

您应该能够在那里增加/减少版本。当您构建时,它将采用此版本并更新整个应用程序的minSdkVersion,包括您的清单,因此无需在其他任何地方明确更改。


4
这个问题是针对Expo管理的应用程序的,如果您在Android文件夹中进行修改,那么您不会失去Expo启动功能吗? - Yonz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接