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

Xamarin项目构建失败:R8编译SpassFingerprint.class报错

解决方案:Xamarin归档APK时R8编译数组越界错误(pass-v1.2.0.jar)

这个错误源于新版R8代码收缩器与旧版Samsung PASS SDK(v1.2.0)的字节码结构不兼容,以下是可行的解决方法:

  • 升级Samsung PASS SDK:把项目里的pass-v1.2.0.jar替换为官方最新稳定版本,新版SDK会修复字节码适配问题,兼容Visual Studio 2022使用的现代Android编译工具链。
  • 临时禁用R8代码收缩:打开Android项目属性,进入Android Options -> Packaging,取消勾选Enable R8 code shrinker选项。此方法会增大APK体积,但能快速绕过编译错误。
  • 添加R8规则排除Samsung PASS类:如果必须保留旧版SDK和R8,在项目中创建proguard.cfg文件,添加以下规则:
    -keep class com.samsung.android.sdk.pass.** { *; }
    -dontwarn com.samsung.android.sdk.pass.**
    
    然后在Android项目属性的Packaging页面,将该文件指定为ProGuard/R8配置文件,让R8跳过对Samsung PASS类的字节码处理。
  • 清理重建项目:手动删除项目的obj和bin目录,重启Visual Studio后重新构建归档,清除缓存的中间编译文件可能解决异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:27:02