You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Andmore的Android Package Builder构建失败,报sun/misc/BASE64Encoder错误

解决Android项目构建时的sun/misc/BASE64Encoder错误

这个问题我之前帮朋友排查过,本质是Java版本迭代带来的API兼容性问题——sun.misc.BASE64Encoder是JDK内部的非公开API,从Java 9开始就被移除了,而你升级后的环境(Ubuntu 18.04默认可能搭载Java 9及以上版本)或者Andmore的构建组件刚好依赖了它。下面是几个可行的解决思路:

1. 替换项目中直接使用的旧BASE64 API

如果你的项目代码里直接调用了sun.misc.BASE64Encoder或BASE64Decoder,这是最根本的解决办法:

  • 替换为Java 8及以上支持的标准API java.util.Base64
  • 示例替换:
    • 原编码代码:new sun.misc.BASE64Encoder().encode(yourByteArray)
    • 替换后:java.util.Base64.getEncoder().encodeToString(yourByteArray)
    • 原解码代码:new sun.misc.BASE64Decoder().decodeBuffer(yourBase64Str)
    • 替换后:java.util.Base64.getDecoder().decode(yourBase64Str)
  • 记得在代码中导入java.util.Base64,移除对sun.misc包的导入。

2. 切换到Java 8环境运行Eclipse/Andmore

Ubuntu 18.04默认可能安装了Java 11,而Andmore对Java 8的兼容性更好,步骤如下:

  • 安装OpenJDK 8:在终端执行sudo apt update && sudo apt install openjdk-8-jdk
  • 配置Eclipse项目的JRE:
    1. 右键项目 → Properties → Java Build Path → Libraries
    2. 点击Add Library → 选择JRE System Library → 点击Next
    3. 选择Alternate JRE,点击Installed JREs添加OpenJDK 8,设置为项目默认JRE
  • 调整Java编译级别:
    右键项目 → Properties → Java Compiler → 设置Compiler compliance level为1.8,勾选"Use compliance from execution environment on the 'Java Build Path'"
  • 配置Eclipse全局JDK:
    打开Window → Preferences → Java → Installed JREs,将OpenJDK 8设为默认

3. 修复Andmore构建器的依赖问题(临时/进阶方案)

如果是Andmore自身的构建组件依赖了旧API,可以尝试:

  • 更新Andmore到最新版本:打开Eclipse → Help → Eclipse Marketplace,搜索Andmore,安装最新更新包
  • 临时允许JVM访问内部API(不推荐长期使用):
    找到Eclipse安装目录下的eclipse.ini文件,在-vmargs下方添加一行:
    --add-exports java.base/sun.misc=ALL-UNNAMED
    
    保存后重启Eclipse,这个参数会让JVM开放sun.misc包的访问权限,但仅作为临时过渡方案,建议优先用前两种方法。

最后,记得执行Project → Clean清理项目后重新构建,确保所有配置生效。

内容的提问来源于stack exchange,提问作者user149408

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:50:25