我知道这是一个愚蠢的问题,但我需要帮助,正如关于 NDK Apps Linking 的 Android N 更改文档中提到的那样,他们说我必须检查我的应用程序是否正在访问任何 android 私有(private)库。问题是,如果我有一个应用程序,如何检测该应用程序或其任何依赖项是否正在访问私有(private)库?
最佳答案
如果您正在使用 ndk-build
,如果您链接未明确允许的内容,我们将发出警告:https://android.googlesource.com/platform/ndk/+/17f4d9e8ec1d48db9035ca3103254a39efae3899/build/core/build-binary.mk#84
可以通过 dlopen
ing 非 NDK 库或构建您自己的 stub 链接来规避此警告。如果您在 Android N 或更高版本上运行,如果您已解决此问题,您的应用将不会加载。
对于其他构建系统,只需确保您只链接应用中的内容(在您的 APK 中提供)或 system_libs
列表中的内容(请注意,新库可能会添加到这在每个版本中都支持新的 API):https://android.googlesource.com/platform/ndk/+/master/build/core/build-binary.mk#61
关于安卓 N : NDK Apps Linking to Platform Libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042919/