android调用其他人的so资料
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包名命名试试:
你自己先研究一下jni就知道了!
反编译了一个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包名命名试试:
1 楼
weiday123
2012-06-07
在android中,这个是必须要符合这个规则的么?
有没有方法来绕过这个规则?
有没有方法来绕过这个规则?
2 楼
gqdy365
2012-06-11
weiday123 写道
在android中,这个是必须要符合这个规则的么?
有没有方法来绕过这个规则?
有没有方法来绕过这个规则?
你自己先研究一下jni就知道了!