由于Android Zygote,将OpenSSL编译为其他名称 [英] Compile OpenSSL to different name due to Android Zygote
问题描述
我可以使用 GitHub为Android(libcrypto.so和libssl.so)成功构建openssl-1.0.2j stdchpie/android-openssl :
-
环境:Linux OS,(在我的情况下,我使用Mac OS)
Environment: Linux OS, (my case I use Mac OS)
Android NDK:12b
Android NDK: 12b
在Android 5.x上(如果使用):
On Android 5.x if using:
System.loadLibrary("crypto");
System.loadLibrary("ssl");
它将与也具有相同名称的本机OS库发生冲突.不幸的是,手动更改其名称无效.所以我想将它们编译成不同的名称,例如libcryptox.so和libsslx.so
It will get conflict with native OS libs which also have same names. And unluckily, manually change their names didn't work. So that I want to compile them into different names , like libcryptox.so and libsslx.so
我整天都在玩Makefile.org,但并不幸运.所以请有人告诉我该怎么做.
I try to play with Makefile.org all day but not lucky. So please someone tell me how to do.
推荐答案
系统在运行时环境中加载了这些库,您不能使用System.loadLibrary
The system has those libs loaded in the run-time environment, you can't use the System.loadLibrary
您可以制作小的ndk代码,这些代码将对这些库使用本机dload. 最后,我认为最好通过通用的android API使用ssl api,因为您永远都不知道它们将在下一个版本中做什么.
You can make small ndk code that will use native dload for those libs. And eventually, I think its best to use the ssl api's through the common android API as you never know what they will do next version.
这篇关于由于Android Zygote,将OpenSSL编译为其他名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!