android NDK 使用第三方类库 使用的是openssl

Android 码拜 10年前 (2015-05-11) 1970次浏览 0个评论
 
LOCAL_PATH:=${call my-dir}
include $(CLEAR_VARS)
LOCAL_MODULE :=CCC
LOCAL_SRC_FILES:=name.cpp
LOCAL_LDLIBS := -L$(LOCAL_PATH) -lcrypto -lssl
include $(BUILD_SHARED_LIBRARY)

Android.mk文件。
能生成os文件。但是使用的时候无错误信息推出程序。
看到日志打印的是程序在找system/lib/下面的libcrypto 和 libssl 库 怎么破?
如果使用static加载crypto类库出现
No JNI_OnLoad found in /data/data/com.example.ndktest1/lib/libCCC.so 0x40515660, skipping init

25分
“看到日志打印的是程序在找system/lib/下面的libcrypto 和 libssl 库 怎么破?”
这是什么意思?
No JNI_OnLoad found in /data/data/com.example.ndktest1/lib/libCCC.so 0x40515660, skipping init 
这句话没什么问题,意思是so库里没有JNI_OnLoad 方法,这个是充许的。
引用 1 楼 Michael_g 的回复:

“看到日志打印的是程序在找system/lib/下面的libcrypto 和 libssl 库 怎么破?”
这是什么意思?
No JNI_OnLoad found in /data/data/com.example.ndktest1/lib/libCCC.so 0x40515660, skipping init 
这句话没什么问题,意思是so库里没有JNI_OnLo……

就是我在使用第三方动态链接库..程序执行的时候默认要去System/lib 目录下找.我不想让动态链接库放入这个目录下.怎么搞??

25分
没搞过,需要设置环境变量吧。这有什么意义吗?
so安装后默认是在/data/data/pkgname/lib下的吧
引用 4 楼 A328240784 的回复:

so安装后默认是在/data/data/pkgname/lib下的吧

恩是的.但是android是linux  在查找动态的时候不就是去system/lib 目录下查找动态库么.怎么样让他在/data/data/pkgname/lib这个目录里查找?

引用 5 楼 joker_zhou 的回复:

引用 4 楼 A328240784 的回复:so安装后默认是在/data/data/pkgname/lib下的吧
恩是的.但是android是linux  在查找动态的时候不就是去system/lib 目录下查找动态库么.怎么样让他在/data/data/pkgname/lib这个目录里查找?

其实他怎么找的我不知道,但我安装完apk之后,so文件是在那个目录下的,至于有没有在你说的那个目录下,我没研究。但不管在哪,都不影响你使用

select * from db.aaa

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明android NDK 使用第三方类库 使用的是openssl
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!