Andmore 的 Android Package Builder 失败并出现与 sun/misc/BASE64Encoder 相关的错误
Andmore's Android Package Builder fails with error related to sun/misc/BASE64Encoder
我刚刚将我的工具链从 Ubuntu MATE 16.04 + Eclipse Luna + ADT 升级到 Ubuntu MATE 18.04 + Eclipse Oxygen + Andmore。
我 我现有的基于 ADT 的 Android 项目之一到 Andmore 并尝试构建它。但是,我收到以下错误消息:
Errors occurred during the build.
Errors running builder 'Android Package Builder' on project 'qz'.
sun/misc/BASE64Encoder
我做了一些研究并得到了一些指示,但没有最终解决方案。
Here是一个类似错误信息的问题;唯一的答案和评论之一表明它与 class 在 Java 9 中被弃用有关,决定因素是运行 Eclipse 的 JVM(与目标 JVM 相对)对于应用程序)。
This post 在 Eclipse 社区论坛上也提到了 JRE 8 并显示了它的配置设置。
当我转到 Window > 首选项 > 已安装的 JREs 时,我看到 /usr/lib/jvm/java-8-openjdk-amd64
的一个条目,根据引用的答案应该是正确的以上。
为了完整性,Ubuntu 18.04 似乎有两个 Java 版本,因为命令行上的 java -version
给我:
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
最重要的是,我刚刚注意到在我的工作区树中,-metadata/.plugins/org.eclipse.andmore.android.logger/environment.log
有:
2018-05-03 20:06:03,654 - os.name - Linux
2018-05-03 20:06:03,655 - os.arch - amd64
2018-05-03 20:06:03,655 - os.version - 4.15.0-20-generic
2018-05-03 20:06:03,655 - java.version - 10.0.1
2018-05-03 20:06:03,655 - java.vendor - Oracle Corporation
2018-05-03 20:06:03,655 - java.vendor.url - http://java.oracle.com/
2018-05-03 20:06:03,655 - java.home - /usr/lib/jvm/java-11-openjdk-amd64
2018-05-03 20:06:03,655 - java.vm.specification.name - Java Virtual Machine Specification
2018-05-03 20:06:03,655 - java.vm.specification.vendor - Oracle Corporation
2018-05-03 20:06:03,655 - java.vm.specification.version - 10
很明显,Andmore 在 OpenJDK 10(我系统上的默认 JRE)上 运行,而不是为 Eclipse 选择的那个。
我该如何解决这个问题?
查看 eclipse.ini
(在我的 Eclipse 路径中),我发现了对 JRE 11 的明确引用:
-vm
/usr/lib/jvm/java-11-openjdk-amd64/bin
我把它改成了
-vm
/usr/lib/jvm/java-8-openjdk-amd64/bin
我终于得到了一个 APK,清理了一次项目后,我就可以在设备上安装它了。
我刚刚将我的工具链从 Ubuntu MATE 16.04 + Eclipse Luna + ADT 升级到 Ubuntu MATE 18.04 + Eclipse Oxygen + Andmore。
我
Errors occurred during the build.
Errors running builder 'Android Package Builder' on project 'qz'.
sun/misc/BASE64Encoder
我做了一些研究并得到了一些指示,但没有最终解决方案。
Here是一个类似错误信息的问题;唯一的答案和评论之一表明它与 class 在 Java 9 中被弃用有关,决定因素是运行 Eclipse 的 JVM(与目标 JVM 相对)对于应用程序)。
This post 在 Eclipse 社区论坛上也提到了 JRE 8 并显示了它的配置设置。
当我转到 Window > 首选项 > 已安装的 JREs 时,我看到 /usr/lib/jvm/java-8-openjdk-amd64
的一个条目,根据引用的答案应该是正确的以上。
为了完整性,Ubuntu 18.04 似乎有两个 Java 版本,因为命令行上的 java -version
给我:
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
最重要的是,我刚刚注意到在我的工作区树中,-metadata/.plugins/org.eclipse.andmore.android.logger/environment.log
有:
2018-05-03 20:06:03,654 - os.name - Linux
2018-05-03 20:06:03,655 - os.arch - amd64
2018-05-03 20:06:03,655 - os.version - 4.15.0-20-generic
2018-05-03 20:06:03,655 - java.version - 10.0.1
2018-05-03 20:06:03,655 - java.vendor - Oracle Corporation
2018-05-03 20:06:03,655 - java.vendor.url - http://java.oracle.com/
2018-05-03 20:06:03,655 - java.home - /usr/lib/jvm/java-11-openjdk-amd64
2018-05-03 20:06:03,655 - java.vm.specification.name - Java Virtual Machine Specification
2018-05-03 20:06:03,655 - java.vm.specification.vendor - Oracle Corporation
2018-05-03 20:06:03,655 - java.vm.specification.version - 10
很明显,Andmore 在 OpenJDK 10(我系统上的默认 JRE)上 运行,而不是为 Eclipse 选择的那个。
我该如何解决这个问题?
查看 eclipse.ini
(在我的 Eclipse 路径中),我发现了对 JRE 11 的明确引用:
-vm
/usr/lib/jvm/java-11-openjdk-amd64/bin
我把它改成了
-vm
/usr/lib/jvm/java-8-openjdk-amd64/bin
我终于得到了一个 APK,清理了一次项目后,我就可以在设备上安装它了。