Android:清单合并失败:使用-sdk:minSdkVersion 19不能小于库中声明的版本21

问题描述 投票:0回答:1

我有一个Android(Java)源代码,其中集成了Flutter模块。当我在 Android Studio 中运行 Android 应用程序时,出现以下错误。我知道解决方案非常简单。也许错误本身就暗示了解决方案。但是,我无法实现这些解决方案,因为我在 Flutter 源代码中使用的多个 flutter 包出现以下错误。如何在不更改 Android 应用程序中的 minSdkVersion 的情况下解决此问题?

Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library [:payu_checkoutpro_flutter] 
~/pm_module/.android/plugins_build_output/payu_checkoutpro_flutter/intermediates/merged_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 19
    Suggestion: use a compatible library with a minSdk of at most 19,
        or increase this project's minSdk version to at least 21,
        or use tools:overrideLibrary="com.payubiz.payu_checkoutpro_flutter" to force usage (may lead to runtime failures)

我尝试按照错误提示更改 minSdkVersion,但不幸的是,我收到了很多软件包的此错误。
还有其他与此问题类似的 SO 帖子,但他们也在谈论单个包。

在当前设置中运行良好,突然开始抛出此问题。 我什至运行了

git reset
flutter clean
flutter pub get
和类似的命令。

android flutter manifest-merging
1个回答
0
投票

如果您还没有启用 multidex 支持,您可以在 Android 项目中启用 multidex 支持。 Multidex 支持允许您的应用程序在较旧的 Android 版本上构建和运行,这些版本对单个 dex 文件中的方法数量有限制。要启用多重分包,请按照下列步骤操作: 在您的

build.gradle
文件(通常位于
android/app
目录中)中,在
android
块内添加以下行:

android {
    defaultConfig {
        ...
        multiDexEnabled true
    }
}

此外,请确保在您的

dependencies
块中包含 multidex 依赖项:

dependencies {
    implementation 'com.android.support:multidex:1.0.3'
}

最后,更新您的

AndroidManifest.xml
以包含 multidex 应用程序类:

<application
    android:name="androidx.multidex.MultiDexApplication">
    ...
</application>
© www.soinside.com 2019 - 2024. All rights reserved.