我成功加載了/system/libs/my_lib.so
目錄中的庫。我如何使用這個庫中定義的C/C++函數?用於加載庫的System.load
public class MainFrom extends Activity {
private static final String LOG_TAG = "MainFrom";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// How to use the functions of test_lib.so?
/*
java.lang.UnsatisfiedLinkError: stringFromC
String s1 = stringFromC(), s2 = stringFromCpp();
Log.w(LOG_TAG, stringFromC());
Log.w(LOG_TAG, stringFromCpp()); */
}
public native String stringFromC();
public native String stringFromCpp();
static {
try {
System.load("/system/lib/test_lib.so");
Log.i(LOG_TAG, "MainFrom. Success!");
} catch (UnsatisfiedLinkError e) {
Log.e(LOG_TAG, "MainFrom. UnsatisfiedLinkError");
}
}
}
stringFromC
和stringFromCpp
存在並且進行了彙編,以test_lib.so
你可以分享你的Android.mk文件,也.C和.cpp? – 2012-04-10 10:53:43
@NISHAnT如何分享?我正在構建Cyanogen,我的測試庫位於「外部」文件夾中,c和cpp功能的使用位於「framesworks」文件夾中。如果可能的話,共享代碼爲 – 2012-04-10 11:23:44
。 – 2012-04-10 11:32:39