我想使用libusb.so如何在我的android項目中使用libusb庫。如何在庫成功加載後在C或JAVA編碼中使用libusb.so庫函數?
我編譯libusb庫爲我的android項目使用libusb source.Now我想在我的代碼中使用新生成的libusb.so函數。 我用下面的代碼..只是檢查功能是否加載.. 我應該怎麼做,以使用libusb庫在我的應用程序中列出設備信息。
代碼JNI目錄..
libTest.c
#include <string.h>
#include <jni.h>
#include <stdio.h>
#include <sys/types.h>
JNIEXPORT jstring JNICALL Java_com_example_loadlibrary_MainActivity_libTask(JNIEnv* env, jobject obj)
{
if(libusb_init(NULL))
return (*env)->NewStringUTF(env, "Library Loaded Successfuly!");
else
return (*env)->NewStringUTF(env, "Can not load library........");
}
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include $(CLEAR_VARS)
LOCAL_MODULE := libusb-1.0
LOCAL_SRC_FILES := libusb-1.0.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libTest
LOCAL_SRC_FILES := libTest.c
include $(BUILD_SHARED_LIBRARY)
libusb-1.0.so
和src包含此Java文件:
MainActivity.java
package com.example.loadlibrary;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = new TextView(this);
tv.setText(libTask());
setContentView(tv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
private native String libTask();
static{
System.loadLibrary("usb-1.0");
System.loadLibrary("libTest");
}
}
,但它顯示了NDK編譯錯誤:
**錯誤:未定義的引用 'libusb_init' collect2:LD返回1個退出狀態 化妝: [OBJ /local/armeabi/libTest.so]錯誤1*
它顯示函數未在我的代碼中定義。 所以,我怎麼就能得到所有的功能得到工作....
和atlast如果我做
更換: 如果(libusb_init(NULL)) 有: 如果(1)
所有文件生成,但顯示這樣的錯誤:
配方目標Loadlibrary.exe' failed makefile /Loadlibrary/Debug line 31 C/C++ Problem undefined reference to
_WinMain @ 16' 的LoadLibrary線39,外部位置:\ USR \ SRC \調試\ cygwin的-1.7.17-1 \ winsup \ cygwin的\ lib \ libcmain.c C/C++問題 make: * [Loadlibrary6.exe]錯誤1的LoadLibrary C/C++問題
不能正常工作存在相同的問題... – Pankaj 2013-03-05 12:16:24