duk*_*zwe 18 java android react-native expo java-11
我正在使用并尝试在一个裸项目react native中使用expo ,但是每当我尝试使用命令运行应用程序时,我都会收到此错误:npm run android
Execution failed for task ':expo-modules-core:compileDebugJavaWithJavac'.
> Could not resolve all files for configuration ':expo-modules-core:androidJdkImage'.
> Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
> Execution failed for JdkImageTransform: /home/dukizwe/Android/Sdk/platforms/android-31/core-for-system-modules.jar.
> jlink executable /usr/lib/jvm/java-14-openjdk-amd64/bin/jlink does not exist.
Run Code Online (Sandbox Code Playgroud)
我使用的是linux操作系统,Android studio和JDK都已正确安装。
文件夹内部的/usr/lib/jvm/结构如下所示:
我不知道为什么它在java-14-openjdk-amd64文件夹中查找,因为在该文件夹中没有jlink可执行文件。
在android studiosi中SDK Location指向java-11-openjdk. 有什么帮助吗?
pjo*_*shi 18
当我在新的 Ubuntu 22.x 机器上运行 React Native 应用程序时,我也遇到了同样的问题。我通过安装 JRE 和 JDK 来修复它。
步骤 1sudo apt install default-jre 随后java -version
应显示 -
Output openjdk version "11.0.14" 2022-01-18 OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2) OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2, mixed mode, sharing)
其次是 -
sudo apt install default-jdk
检查 -javac -version 以获得输出为 -
Output javac 11.0.14
希望能帮助到你!
看来您需要将 JAVA_HOME 环境变量设置为 jlink 二进制文件的父级。Android Studio 包含自己的 jlink 二进制文件。在 Linux(或 Mac)上,您可以使用:
export JAVA_HOME="$HOME/android-studio/jbr"
Run Code Online (Sandbox Code Playgroud)
接下来的内容$HOME取决于您安装 Android Studio 的位置。
更永久的解决方案是编辑~/.bashrc文件,将上面提供的命令(如果有的话进行路径修改)附加到所述文件的末尾并保存更改。一切完成,打开一个新终端并再次尝试编译。
在 Windows 上,您需要将 JAVA_HOME 添加到您的路径中
小智 3
我刚刚复制了jlink,javac并jmod从此路径:
/home/USER/android-studio/jre/bin/
到以下路径:
/usr/lib/jvm/java-11-openjdk-11.0.15.0.10-1.fc36.x86_64/bin
Terminal注意:以 root 身份使用很重要
使用的操作系统:Linux Fedora 36
| 归档时间: |
|
| 查看次数: |
19591 次 |
| 最近记录: |