При использовании apk сборки flutter gradle выдает ошибку из-за сбоя при использовании JDK 8...
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':unifiedpush_android:compileDebugKotlin'.
> Provisioned toolchain '$HOME/.gradle/jdks/adoptium-8-x64-hotspot-linux/jdk8u432-b06' could not be probed.
Папка jdk присутствует и доступна для чтения всем.
Я попытался изменить android/app/build.gradle, чтобы переопределить флаттер JDK настройки по умолчанию:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
...
}
Но gradle по-прежнему выдает ту же ошибку JDK 8.
Как определить версию JDK, используемую gradle?
Вот дополнительная информация о моей среде:
flake.nix:
{
description = "Flutter environment";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:NixOS/nixpkgs";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
config.permittedInsecurePackages = [
"olm-3.2.16"
];
};
androidEnv = pkgs.androidenv.override { licenseAccepted = true; };
androidComposition = androidEnv.composeAndroidPackages {
## Details about default values: https://github.com/NixOS/nixpkgs/blob/m ... ckages.nix
#
buildToolsVersions = [ "30.0.3" ];
platformVersions = [ "31" "32" "33" "34" ];
cmakeVersions = [ "3.18.1" ];
includeNDK = true;
ndkVersion = "23.1.7779620";
useGoogleAPIs = true;
extraLicenses = [
"android-googletv-license"
"android-sdk-arm-dbt-license"
"android-sdk-license"
"android-sdk-preview-license"
"google-gdk-license"
"intel-android-extra-license"
"intel-android-sysimage-license"
"mips-android-sysimage-license" ];
};
androidSdk = androidComposition.androidsdk;
in
{
devShell = with pkgs; mkShell rec {
ANDROID_HOME = "${androidSdk}/libexec/android-sdk";
ANDROID_SDK_ROOT = "${androidSdk}/libexec/android-sdk";
CHROME_EXECUTABLE = "google-chrome-stable";
JAVA_HOME = jdk17.home;
FLUTTER_ROOT = flutter324;
DART_ROOT = "${flutter324}/bin/cache/dart-sdk";
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidSdk}/libexec/android-sdk/build-tools/30.0.3/aapt2";
QT_QPA_PLATFORM = "wayland;xcb";
buildInputs = [
androidSdk
android-tools
android-udev-rules
flutter324
gradle
jdk17
];
# Globally installed packages, which are installed through `dart pub global activate package_name`,
# are located in the `$PUB_CACHE/bin` directory.
shellHook = ''
if [ -z "$PUB_CACHE" ]; then
export PATH="$PATH:$HOME/.pub-cache/bin"
else
export PATH="$PATH:$PUB_CACHE/bin"
fi
flutter doctor -v
'';
};
}
);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... apk-target
Flutter на Nixos flake.nix для Android apk target ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение