我有一个集成到Android 5.0源代码的软件包。它有一个java服务和几个本机库。当我构建它时,我得到一个带有符号链接到本地库(在/system/lib64/
中)的apk,并且它认为库已经存在了。我必须从app market安装包,也就是说必须将所有lib包含在apk中。我可以使用SDK获得这样的apk,但我无法使用它,因为我依赖于非公共库和java类。
如何构建apk in-tree以便我的原生库包含在apk
本身?
答案 0 :(得分:-1)
这实际上取决于你想要使用的库。
如果你依赖libssl.so和libcrypto.so,你应该编译自己的OpenSSL版本,包括并从你的APK中使用它。
对于正式成为NDK(libc.so,libandroid.so ...)的其他系统库,不需要任何符号链接,它们将自动从系统加载。
如果你真的需要使用非公共库和类,你可以这样做,通过直接加载系统中的库,嵌入这些库的副本是没有意义的。然而,使用任何私密的东西可能是崩溃的重要来源,你不应该这样做。