`

android调用其他人的so文件

 
阅读更多
反编译了一个apk,里面有个so文件,想在自己的程序里面调用,结果一直报错:
java.lang.UnsatisfiedLinkError: Library faceBlend not found libXXXX.so
网上找了很多,大概原因如下:
比如你的包名com.android.test. 项目名:testActivity.

public native String gethello()

那么在.so中源文件的JNI函数名应该这么写jstring Java_com_android_test_testActivity_gethello(......)

所以你的工程必须有相同的包名及项目名才能直接用别人的.so文件。

那么按原有apk包名命名试试:
分享到:
评论
2 楼 gqdy365 2012-06-11  
weiday123 写道
在android中,这个是必须要符合这个规则的么?
有没有方法来绕过这个规则?

你自己先研究一下jni就知道了!
1 楼 weiday123 2012-06-07  
在android中,这个是必须要符合这个规则的么?
有没有方法来绕过这个规则?

相关推荐

Global site tag (gtag.js) - Google Analytics