首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux -默认的java版本是8,集合11用于颤振。

Linux -默认的java版本是8,集合11用于颤振。
EN

Stack Overflow用户
提问于 2021-10-22 12:22:01
回答 2查看 1.8K关注 0票数 2

在我的开发者机器上:

代码语言:javascript
复制
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /home/michal/Android/Sdk
    • Platform android-31, build-tools 30.0.2
    • ANDROID_HOME = /home/michal/Android/Sdk
    • Java binary at: /home/michal/android/studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

但是全局java版本是Java 8:

代码语言:javascript
复制
java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-1-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

它是由Android设置的。但是,在我的构建服务器Flutter上使用默认的1.8java版本:

代码语言:javascript
复制
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /home/jenkins/Android/Sdk
    • Platform android-31, build-tools 30.0.2
    • ANDROID_HOME = /home/jenkins/Android/Sdk
    • Java binary at: /usr/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2-b11)
    • All Android licenses accepted.

因此,针对Android 12的应用程序无法编译。

如何将Java设置为11 (就像在我的开发机器上设置的那样),只用于?系统,默认的java版本不能更改I不能更改JAVA_HOME变量或更改默认的java版本,它需要是Java 8。

我无法在构建服务器上安装Android,我需要知道配置实际存储在哪里。

我想我需要设置java二进制路径,然后更改JAVA_HOME环境变量。把它放在哪里?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-25 12:24:11

这更像是一种解决办法,但这在我的例子中奏效了:

  • 将我的Android文件夹内容复制到

(我在Linux上,所以版本是相同的)

  • 告诉Flutter我的Android安装文件夹在哪里:

flutter config --android-studio-dir="path"

现在,Flutter使用了Android附带的Java,目前它是Java11。但是,我最初的问题是,是否可以告诉Flutter应该使用哪个Java版本(不使用环境变量--全局的还是在每个flutter命令调用上)。

票数 1
EN

Stack Overflow用户

发布于 2021-10-22 14:22:51

我不能改变JAVA_HOME变量。

你可以在本地改变它。例如,在命令提示符下可以这样做:

代码语言:javascript
复制
 $ export JAVA_HOME=/new/setting
 $ flutter ...

因此,您可以在shell初始化脚本(例如“~/..bashrc”中)中定义一个shell别名或shell函数。

或者,您可以编写一个包装器脚本来完成相同的任务。

代码语言:javascript
复制
 #!/bin/sh
 export JAVA_HOME=/new/setting
 flutter "$@"

用它代替颤栗。

诸若此类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69676821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档