安卓N:如何使用系统库

3
在我目前的代码中,直到android 6 (API-23),我能够使用函数打开libjavacore.solibcrypto.solibwebviewchromium.so。但是在Android N中,Google限制了对私有库的访问。所以,有人可以帮助我如何加载这些库吗?
“您的应用程序直接访问私有平台库。您应该更新您的应用程序,包括它自己的副本或使用公共NDK API。”
如何创建这些库的副本?

请查看我在这里的答案,以添加 *.so 库:https://dev59.com/zJDea4cB1Zd3GeqPXyYP#33164947 - Aspicas
但是这些库已经是系统/lib的一部分了。 - vinit
你具体是什么意思? - Aspicas
在API-24中,Android不允许您访问system/lib库。那么有没有办法在API-24中访问这些库呢? 链接:https://developer.android.com/preview/behavior-changes.html#ndk - vinit
是的,请查看我的另一个答案,它对我有效。http://stackoverflow.com/a/38145739/3626214 - Aspicas
相关:https://dev59.com/JGrWa4cB1Zd3GeqP7y3x - Ciro Santilli OurBigBook.com
1个回答

0

看起来没有正确解决它的方法。通常情况下,您应该编写自己的动态链接器,加载所需的库(或查看 NDK 中的 crazy_linker)。然后您应该手动执行符号查找。如果系统已经加载了库,则只需要后者。

无论如何,这种方法很脆弱,并不能保证这些技巧将来不会被禁用。因此,最好避免使用私有库,而是使用您自己的版本或公共 NDK API。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接