Android - 动态模块 (.so) 需要进行生产签名

Android - Dynamic module(.so) needs to be production signed

据我从 Hexagon DSP 文档中了解到:

To enable a .so to be successfully deployed on production devices across a large number of OEM devices, the dynamic module needs to be production signed by the OEM. ISVs are encouraged to work with their OEM POCs to have the modules production signed for OEM devices.

那么,有什么方法可以让我的 .so(s) 在生产设备上运行(最初是 OnePlus 3T 运行 OxygenOS)?

我尝试通过编译并安装 LineageOS 来 root 设备。所以这提供了 'adb root' 访问权限,但我仍然得到以下 dlopen 错误:

01-14 19:25:36.211 15243 15243 E adsprpc : vendor/qcom/proprietary/adsprpc/src/fastrpc_apps_user.c:433::error: -5: 0 == (nErr = dlerr)
01-14 19:25:36.212 15243 15243 D adsprpc : vendor/qcom/proprietary/adsprpc/src/fastrpc_apps_user.c:437: dlopen error: calculator signature verify start failed for libcalculator_skel.so    

知道我该如何解决这个问题吗?

我和高通印度和美国的有关人士谈过(我确定他们是利益相关者,可以提供真实的信息),发现除非你从他们那里购买许可证,否则这是不可能的,这甚至是不可能的任何精益创业公司(资金有限)。另一种选择是加入他们的投资者计划 (Qualcomm Ventures)。

因此,如果您打算购买 Intrinsyc 电路板用于原型制作,并认为稍后您将 运行 生产相同的 DSP 软件,请务必小心!!!除非您解决上述签名问题,否则这是不可能的。

我认为,远离许可证陷阱!

Qualcomm DSP 上允许使用的软件目前由设备的 OEM 控制。如果您想 运行 在 DSP 上使用某些东西,您必须直接与 OEM 合作。

并非所有设备都需要签名,无人机和其他非 phone 设备可能 运行 未签名模块。