使用AnysoftKeyboard(Android)构建问题

17 浏览
0 Comments

使用AnysoftKeyboard(Android)构建问题

我正在尝试在Android Studio中构建AnysoftKeyboard。按照GitHub上的创建者所说,我已经安装了Java 9(jdk 9)和相应的ndk(android-ndk-r14b)。我也已经更改了local.properties文件以显示正确的路径。然而,我仍然遇到了一些错误。以下是这些错误:\n运行任务错误:\norg.gradle.api.tasks.TaskExecutionException:执行任务\':base:compileDebugJavaWithJavac\'失败\nJava编译器错误:Caused by: java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: com/sun/tools/javac/util/JavacMessages$ResourceBundleHelper\nCaused by: java.lang.NoClassDefFoundError: com/sun/tools/javac/util/JavacMessages$ResourceBundleHelper\nCaused by: java.lang.ClassNotFoundException: com.sun.tools.javac.util.JavacMessages$ResourceBundleHelper\n这是错误的屏幕截图:\nAnySoftKeyboard编译错误运行任务错误\n该项目使用gradle,我对此不太熟悉,所以如果我漏掉了任何重要的步骤,请指导我解决问题。\n是否有什么我忽略了而导致这些错误?我应该怎么做?提前感谢。

0
0 Comments

原因:这个问题的原因是由于缺少com.sun.tools.javac.util.JavacMessages$ResourceBundleHelper类导致的。

解决方法:注释掉导致错误的代码行。

Caused by: java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: com/sun/tools/javac/util/JavacMessages$ResourceBundleHelper
TO remove this error comment below line prone error.

以上就是(Build Problem with AnysoftKeyboard (Android))这个问题的出现原因和解决方法。

0
0 Comments

(Build Problem with AnysoftKeyboard (Android))这个问题出现的原因是忘记设置JAVA_OPTS,导致缺少java.se资源。解决方法是设置JAVA_OPTS为'-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'。另外,还需要通过命令行用gradle构建项目,或者在Android Studio的构建配置选项卡中设置JAVA_OPTS。

文章内容如下:

在遵循官方文档的指导下,我成功地构建了一个项目。我认为你忘记了设置JAVA_OPTS,并添加了java.se.*源,如下所述。这就是为什么你在上面的错误堆栈跟踪中缺少java.se资源的原因。

要开发这个项目,你需要:

- Java 10 - 获取OpenJDK或AdoptOpenJDK。

- 确保你有环境变量JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'。这是为了确保JVM对那些不是为Java9+ JVM设计的库宽容。

- git

- Android Studio

- 安装Android SDK API Level 28。设置local.properties文件指向它(即确保其中有sdk.dir=/path/to/android/sdk)。

- 安装Android NDK r14b。设置local.properties文件指向它(即确保其中有ndk.dir=/path/to/android/ndk)。

我已经设置了变量JAVA_OPTS(在我的系统中是这样的:JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee)。我最终构建成功了,但不是在Android Studio中,而是通过在项目根目录中使用gradle在命令行中完成的。我想我遇到了一些证书错误,但最终解决了它们(链接:stackoverflow.com/a/40743987stackoverflow.com/a/36427118)。我面临的主要问题是我无法在Android Studio中更改JDK(以使用JDK 10)。

你是通过cmd构建的,因为JAVA_OPTS需要在Android Studio的构建配置选项卡内设置。

我在Android Studio中设置了它,但仍然出现错误。我认为问题在于我无法更改Android Studio的默认JDK(请选择一个有效的JDK 8目录)。你有什么建议吗?

好的,那么在这种情况下,你需要通过控制台构建项目。

当我尝试从cmd构建时,我将JAVA_HOME设置为AdoptOpenJDK版本,并在系统变量中设置了JAVA_OPTS,但显示JAVA_HOME设置为无效目录。如何解决这个问题?

如果你使用的是Linux,确保已将变量(Java home和opts)导入到.bash_profile或.profile文件中。

感谢你的回复。但我在Windows操作系统上构建项目。

如果你是通过Win UI设置本地变量,请确保路径是正确的。你应该指向Java的Bin位置(而不是AdoptOpenJDK版本)。

0