資源簡介
用新版的NDK編譯的libserial_port.so新版的動態依賴庫,適用于android6.0以上的串口通信開發

代碼片段和文件信息
/*
?*?Copyright?2009?Cedric?Priscal
?*?
?*?Licensed?under?the?Apache?License?Version?2.0?(the?“License“);
?*?you?may?not?use?this?file?except?in?compliance?with?the?License.
?*?You?may?obtain?a?copy?of?the?License?at
?*?
?*?http://www.apache.org/licenses/LICENSE-2.0
?*?
?*?Unless?required?by?applicable?law?or?agreed?to?in?writing?software
?*?distributed?under?the?License?is?distributed?on?an?“AS?IS“?BASIS
?*?WITHOUT?WARRANTIES?OR?CONDITIONS?OF?ANY?KIND?either?express?or?implied.
?*?See?the?License?for?the?specific?language?governing?permissions?and
?*?limitations?under?the?License.?
?*/
package?android_serialport_api;
import?java.io.File;
import?java.io.FileDescriptor;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.OutputStream;
import?android.util.Log;
public?class?SerialPort?{
private?static?final?String?TAG?=?“SerialPort“;
/*
?*?Do?not?remove?or?rename?the?field?mFd:?it?is?used?by?native?method?close();
?*/
private?FileDescriptor?mFd;
private?FileInputStream?mFileInputStream;
private?FileOutputStream?mFileOutputStream;
public?SerialPort(File?device?int?baudrate?int?flags)?throws?SecurityException?IOException?{
/*?Check?access?permission?*/
if?(!device.canRead()?||?!device.canWrite())?{
try?{
/*?Missing?read/write?permission?trying?to?chmod?the?file?*/
Process?su;
su?=?Runtime.getRuntime().exec(“/system/bin/su“);
String?cmd?=?“chmod?666?“?+?device.getAbsolutePath()?+?“\n“
+?“exit\n“;
su.getOutputStream().write(cmd.getBytes());
if?((su.waitFor()?!=?0)?||?!device.canRead()
||?!device.canWrite())?{
throw?new?SecurityException();
}
}?catch?(Exception?e)?{
e.printStackTrace();
throw?new?SecurityException();
}
}
mFd?=?open(device.getAbsolutePath()?baudrate?flags);
if?(mFd?==?null)?{
Log.e(TAG?“native?open?returns?null“);
throw?new?IOException();
}
mFileInputStream?=?new?FileInputStream(mFd);
mFileOutputStream?=?new?FileOutputStream(mFd);
}
//?Getters?and?setters
public?InputStream?getInputStream()?{
return?mFileInputStream;
}
public?OutputStream?getOutputStream()?{
return?mFileOutputStream;
}
//?JNI
private?native?static?FileDescriptor?open(String?path?int?baudrate?int?flags);
public?native?void?close();
static?{
System.loadLibrary(“serial_port“);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-09-08?15:53??動態依賴庫\
?????目錄???????????0??2019-09-08?15:53??動態依賴庫\android_serialport_api\
?????文件????????2409??2017-08-30?10:22??動態依賴庫\android_serialport_api\SerialPort.java
?????文件????????3438??2012-10-03?03:15??動態依賴庫\android_serialport_api\SerialPortFinder.java
?????目錄???????????0??2019-09-08?15:53??動態依賴庫\jni\
?????文件?????????809??2019-09-06?19:46??動態依賴庫\jni\Android.mk
?????文件??????????25??2019-09-08?11:11??動態依賴庫\jni\Application.mk
?????文件??????????90??2012-10-03?03:15??動態依賴庫\jni\gen_SerialPort_h.sh
?????文件????????4589??2012-10-03?03:15??動態依賴庫\jni\SerialPort.c
?????文件?????????745??2012-10-03?03:15??動態依賴庫\jni\SerialPort.h
?????目錄???????????0??2019-09-08?15:52??動態依賴庫\libs\
?????目錄???????????0??2019-09-08?15:52??動態依賴庫\libs\armeabi\
?????文件??????123292??2019-09-08?10:42??動態依賴庫\libs\armeabi\libserial_port.so
?????目錄???????????0??2019-09-08?15:52??動態依賴庫\libs\armeabi_v7a\
?????文件??????123292??2019-09-08?10:42??動態依賴庫\libs\armeabi_v7a\libserial_port.so
?????目錄???????????0??2019-09-08?15:52??動態依賴庫\libs\x86\
?????文件??????123292??2019-09-08?10:42??動態依賴庫\libs\x86\libserial_port.so
?????目錄???????????0??2019-09-08?15:52??動態依賴庫\libs\x86_64\
?????文件??????123292??2019-09-08?10:42??動態依賴庫\libs\x86_64\libserial_port.so
- 上一篇:編譯原理課設 循環查找
- 下一篇:commons-io-2.7.jar
評論
共有 條評論