我有一个React Native项目,在这个项目中,我需要在脚本执行之前和之后更改Java版本。基本上,我需要更改为Java 1.8来运行连接到android sdkmanager的命令,然后切换回Java 11。
我目前正在使用jenv来管理Java版本。如果我使用以下命令之一在位于项目根目录的终端中执行此操作,则它可以工作:
jenv local 1.8
jenv local 11.0但是,如果我在通过yarn运行的bash脚本文件中使用相同的方法,它就不能工作。脚本文件看起来很像,<project_root>/scripts/my_script.sh
jenv local 1.8;
java -version;
# Some code here involving sdkmanager...
jenv local 11.0;
java -version;java -version正确地显示Java已更改,但与sdkmanager之间的说明不会对此更改有所了解。不知道我在这里错过了什么。欢迎任何帮助/见解。
发布于 2022-08-11 09:12:42
我认为Android命令工具使用与Android相同的JDK。
相关文件:https://developer.android.com/studio/command-line/variables
STUDIO_JDK -设置用于运行Android的JDK的位置。启动IDE时,它会按顺序检查STUDIO_JDK、JDK_HOME和JAVA_HOME环境变量。
脚本中的某些内容设置了这些变量,而'jenv‘并不覆盖它们。
https://stackoverflow.com/questions/73317805
复制相似问题