关于Eclipse上的sun / misc / BASE64Encoder的错误

当我在mac中运行我的应用程序,并显示此消息 在此处输入图像描述 构建期间发生错误。 项目“IMPEXP”上运行构建器“Android Package Builder”的错误。 太阳/其它/ BASE64Encoder

但是这个项目在Windows 10计算机上工作正常,我不使用任何关于base64Encoder

eclipse版本:Photon Milestone 3(4.8.0M3)JRE java se 9.0

编辑!

我找到了类似下面的东西

!ENTRY org.eclipse.core.resources 4 2 2017-11-09 11:50:09.047 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources". !STACK 0 java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder at com.android.sdklib.internal.build.SignedJarBuilder.(SignedJarBuilder.java:177) at com.android.sdklib.build.ApkBuilder.init(ApkBuilder.java:446) at com.android.sdklib.build.ApkBuilder.(ApkBuilder.java:422) at com.android.sdklib.build.ApkBuilder.(ApkBuilder.java:362) at com.android.ide.eclipse.adt.internal.build.BuildHelper.finalPackage(BuildHelper.java:391) at com.android.ide.eclipse.adt.internal.build.BuildHelper.finalDebugPackage(BuildHelper.java:359) at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:632) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:330) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:405) at org.eclipse.core.internal.resources.Project$1.run(Project.java:566) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240) at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:544) at org.eclipse.core.internal.resources.Project.build(Project.java:120) at com.android.ide.eclipse.adt.internal.project.ProjectHelper.doFullIncrementalDebugBuild(ProjectHelper.java:1143) at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:155) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039) at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56) Caused by: java.lang.ClassNotFoundException: sun.misc.BASE64Encoder cannot be found by com.android.ide.eclipse.base_23.0.7.2120684 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) ... 23 more 

您正在使用的Android代码正在尝试使用sun.misc.BASE64Encoder类。

已弃用的类已从Java 9中删除,因此无法使用。

您需要切换回Java 8或查找Android代码的更新(如果有)。

正如其他人已经指出的那样,这是一个兼容性问题 – 您需要Java 8才能运行Eclipse。

  • 如果您还没有安装JDK 8,请安装它。
  • 在Eclipse中,转到Window> Preferences> Installed JREs 。 确保Java 8出现在列表中并被选中。 之后,关闭Eclipse。
  • 此外, eclipse.ini还引用了它使用的Java VM。 确保它指向的VM是Java 8(请参阅有关如何查找它以及如何设置VM首选项的链接)。
  • 重新启动Eclipse,然后重试。