Skip to content

v2.1.1 — 修复 R8 混淆导致模型无法加载

Choose a tag to compare

@ice-wocker ice-wocker released this 27 Sep 02:47
· 26 commits to main since this release

修复

  • 修复 release 包(R8 混淆后)加载任意模型都失败的问题:no non-static method "Lxxx;.onToken(Ljava/lang/String;)V"
    • 原因:native 层用字面方法名回调 onToken,v2.1 的 proguard 规则只保住了 native 方法与 LlamaBridge 本身,方法名被 R8 重命名
    • 修复:保留 LlamaBridge$TokenCallback 接口及所有实现类的 onToken 方法名,并复核了产物 dex 中的 JNI 符号
  • 同时把本地模型索引改为原子写、修复 JNI 释放竞态等稳定性问题(详见 v2.1 说明)

⚠️ v2.1 的包不可用(同样报该错误),请使用本版本。v2.1.1 与该 tag 之前的 v2.1 功能一致,仅修复混淆回归。

安装

正式签名(与仓库 dist/ 内容一致),可直接覆盖安装 v1.0 / v1.1 / v2.0 / v2.1,无需卸载。
要求:Android 7.0 (API 24) 及以上。