azf*_*far 13 android android-studio android-jetpack android-jetpack-compose
我正在使用最新的 Android Studio Arctic Fox 2020.03.01 Canary 8 和 AGP 7,并且我想将我的项目转换为使用 Java 11。显然只是执行以下操作不起作用,如https://developer.android.com 所述/studio/preview/features#use-java-11:
android {
compileSdkVersion 30
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
// For Kotlin projects
kotlinOptions {
jvmTarget = "11"
}
}
Run Code Online (Sandbox Code Playgroud)
我在构建时收到以下错误:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Could not resolve all files for configuration ':app: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: /Users/azfarsiddiqui/Library/Android/sdk/platforms/android-30/core-for-system-modules.jar.
> jlink executable /Applications/Android Studio Preview.app/Contents/jre/jdk/Contents/Home/bin/jlink does not exist.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Run Code Online (Sandbox Code Playgroud)
为简单起见,我一直在此处的 Jetpack Compose 示例项目上尝试此操作:https : //github.com/android/compose-samples/tree/main/JetNews
有什么想法吗?谢谢你们
Wil*_*ran 21
Preferences (Setting) -> Build, Excution, Deloyment -> Build Tools -> Gralde -> Gradle JDK -> 选择JDK 11或下载JDK
我假设您安装了 Java 11 或更高版本。以下步骤:
文件 -> 项目结构 -> SDK 位置 -> 将 JDK 位置更改为 Java 11 jdk 文件夹
如果您使用的是 Mac OS,请尝试在以下位置搜索该文件夹:
/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
ham*_*ham 20
安装 OpenJDK 11。使用brew,它看起来像这样:
brew tap AdoptOpenJDK/openjdk
brew install adoptopenjdk11
Run Code Online (Sandbox Code Playgroud)
在 Android Studio 中:
File -> Project Structure -> SDK Location设置 JDK 位置
您可以使用以下命令找到 JDK 位置
/usr/libexec/java_home -v 11
Run Code Online (Sandbox Code Playgroud)
这是/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home给我的。
hb0*_*hb0 13
我安装了 openjdk11 但jlink实际上不存在。
重新安装openjdk11解决了这个问题。
sudo apt autoremove openjdk-11-jdk-headlesssudo apt install openjdk-11-jdk-headless如果要删除“目标 JRE 版本与项目 SDK 不匹配”警告,则需要ProjectRootManager更改$PROJECT_DIR$/.idea/misc.xml.
从
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
Run Code Online (Sandbox Code Playgroud)
到
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7770 次 |
| 最近记录: |