Pol*_*Pol 6 android openssl android-ndk
我有一个Android应用程序,minSdkVersion.apiLevel将18 targetSdkVersion.apiLevel设置为23。因此,我将NDK设置为platformVersion为18。
不幸的是,在将OpenSSL添加到组合中之后,JNI库现在无法链接:
/Users/pol/Downloads/Cross/External/Android-Libraries/openssl-1.0.2g/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function read_string_inner: error: undefined reference to 'signal'
/Users/pol/Downloads/Cross/External/Android-Libraries/openssl-1.0.2g/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function read_string_inner: error: undefined reference to 'tcsetattr'
/Users/pol/Downloads/Cross/External/Android-Libraries/openssl-1.0.2g/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function read_string_inner: error: undefined reference to 'tcsetattr'
/Users/pol/Downloads/Cross/External/Android-Libraries/openssl-1.0.2g/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function open_console: error: undefined reference to 'tcgetattr'
Run Code Online (Sandbox Code Playgroud)
如果设置,问题就消失了 platformVersion为21(在19上也不起作用)。
如果Android应用程序的API级别为18,但JNI库链接为21,这对Android应用程序意味着什么?在运行4.3的设备上启动时会崩溃吗?
我无法想象该signal符号会从4.3中丢失。这是NDK的错误吗?
当您在android-20或更早版本上安装共享库时,这正是发生的情况:它将无法加载。您应该不会感到惊讶:signal缺少它:Android运行时从未打算运行curl等命令行工具。
| 归档时间: |
|
| 查看次数: |
3391 次 |
| 最近记录: |