Android 安卓N:如何使用系统库
在android 6(API-23)之前的当前代码中,我能够打开Android 安卓N:如何使用系统库,android,c++,java-native-interface,android-7.0-nougat,Android,C++,Java Native Interface,Android 7.0 Nougat,在android 6(API-23)之前的当前代码中,我能够打开libjavacore.so libcrypto.so和libwebview.so使用dlopen()函数。 但在安卓系统中,私有图书馆的访问受到谷歌的限制。因此,任何人都可以帮助我如何加载这些库。 您的应用程序直接访问私有平台库。您应该更新应用程序,使其包含这些库的自己的副本,或者使用公共NDK API。 如何创建这些库的副本 似乎没有办法正确解决这个问题。一般来说,您应该编写自己的动态链接器,加载所需的库(或者从NDK查看cra
libjavacore.so
libcrypto.so
和libwebview.so
使用dlopen()
函数。
但在安卓系统中,私有图书馆的访问受到谷歌的限制。因此,任何人都可以帮助我如何加载这些库。
您的应用程序直接访问私有平台库。您应该更新应用程序,使其包含这些库的自己的副本,或者使用公共NDK API。
如何创建这些库的副本 似乎没有办法正确解决这个问题。一般来说,您应该编写自己的动态链接器,加载所需的库(或者从NDK查看
crazy\u链接器
)。然后您应该手动执行符号查找。如果系统已经加载了库,则只需要后者
无论如何,这种方法是脆弱的,不能保证这些技巧在将来不会被禁用。因此,最好避免使用私有库,而是使用您自己的版本或公共NDK API。请检查我的答案以添加
*。所以库
,但这些库已经是system/lib的一部分。您的确切意思是什么?在API-24中,android没有授予您访问system/lib库的权限。那么有没有办法访问API-24链接中的这些库:-是的,在这里检查我的另一个答案,它适合我,