我可以替换 android apk 中的 jni .so 文件吗

Can I replace jni .so file in android apk

我想升级我的 Bluetooth.apk 的 linked bluedroid 堆栈。由于我是在Android手表中使用它,google没有提供它的源代码。 我只想用新代码重新编译 thouse bluedroid 堆栈,然后使用原始应用程序 link 它。 可能吗? apk好像找不到那些接口,有什么建议吗?

Android wear只打开了它的部分代码,我只从AOSP重新编译了源码,好像接近release版本了,我觉得它的基础组件bluestack是打开的

谢谢。

不,本机库 link 针对库中的特定符号。如果库发生重大变化(我认为是这样,否则您不想更新),它不再包含完全相同的符号。您必须重复 linking 过程。

但是,为此您需要带有未解析符号的原始二进制文件,它通常仅作为构建过程中的中间产品存在。如果你没有来源,你就不太可能得到它。

但是我不确定您是否无法获得所需的任何核心组件的源代码 -- Android 因为它是开源的,并且没有理由基于它的蓝牙堆栈不会。