Flutter Android,需要更高版本的NDK

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

这篇文章与这个事件相同,但我的问题不同。

错误

一个或多个插件需要更高的 Android NDK 版本。 通过将以下内容添加到 /Users/myCompany/StudioProjects/myProject/android/app/build.gradle 来修复此问题

android {
    ndkVersion "25.1.8937393"
    ...
}

当前安装的NDK版本是“23.1.7779620”,我知道我可以通过“Android Studio > Tools > SDK Tools > NDK (Side by side)”来安装它。我也可以保留安装的旧版本。

但是,在检查“build.gradle”文件后,我注意到该版本被引用为:

ndkVersion Flutter.ndkVersion

这个参数来自那里(Flutter 3.16.8):

flutter 主目录 > packages/flutter_tools/gradle/src/main/groovy/flutter.groovy

flutter.groovy 文件的相关部分是这样的:

/**
* Sets the ndkVersion used by default in Flutter app projects.
* Chosen as default version of the AGP version below as found in
* https://developer.android.com/studio/projects/install-ndk#default-ndk-per-agp.
*/

static String ndkVersion = "23.1.7779620"

我的问题

  1. 更改“flutter.groovy”文件中的版本信息将影响所有项目。这是对的吗?如果是这样,我可以仅将静态版本信息放入项目的 build.gradle 文件中吗?足以解决这个问题吗? (我不希望我的任何其他项目影响此更改。)

  2. 我可以从SDK工具菜单下载最新版本,“AGP升级助手”也会要求下载/安装最新版本。 (当我将“android”项目作为 Android 模块打开时)哪一种是合适的方法?

  3. 还有什么我看不到的地方吗?

任何有关解决此 Android NDK 版本差异的见解或指导将不胜感激。

致以诚挚的问候。

flutter gradle groovy android-ndk
1个回答
0
投票

我找到的解决步骤;

  • 项目的 android/app/build.gradle 文件手动更改为 ndkVersion“25.1.8937393”。 (旧参数是ndkVersion flutter.ndkVersion)
  • 错误消息在此步骤中消失,但没有任何更新。然后;
  • “SDK 工具”菜单检测到有可用更新。但是更新的版本(26.1.10909125)并且下载了这个最新版本。

问题解决了。

还有最后一个问题;

更新ndkVersion参数有两种方式; 项目 > android/app/build.gradle > 这仅影响项目 flutter > flutter.groovy > 影响所有项目。

我有新旧项目,无法检查它们是否都兼容所有版本的 NDK。如果我更改 flutter.groovy 文件,其他项目也会升级。更新 flutter.groovy 文件安全吗?或者有人知道最好的做法是什么?

© www.soinside.com 2019 - 2024. All rights reserved.