日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

LKT5103A Hid接口LINUX系統(tǒng)下JNI開發(fā)流程

一、什么是JNI

Java以其跨平臺(tái)的特性深受人們喜愛(ài),而又正由于它的跨平臺(tái)的目的,使得它和本地機(jī)器的各種內(nèi)部聯(lián)系變得很少,約束了它的功能。解決Java對(duì)本地操作的一種方法就是JNI。JNI是Java native interface的簡(jiǎn)寫,意為Java本地調(diào)用,它允許Java代碼和其他語(yǔ)言寫的代碼進(jìn)行交互,從Java1.1開始,JNI標(biāo)準(zhǔn)成為Java平臺(tái)的一部分。

     使用Java與本地已編譯的代碼交互,通常會(huì)喪失平臺(tái)可移植性。但是,有些情況下這樣做是可以接受的,甚至是必須的。例如,與硬件、操作系統(tǒng)進(jìn)行交互,或者為了提高程序的性能。

二、平臺(tái)以及環(huán)境

(1)開發(fā)平臺(tái)

Linux系統(tǒng)或者虛擬機(jī)。

注意:因?yàn)樯婕暗絃INUX下的HID接口,所以保證開發(fā)的系統(tǒng)內(nèi)核在2.6版本以上。

(2)開發(fā)包

1):安裝gcc和g++,保證兩個(gè)版本一致。

安裝zhiling:

yum install gcc

yum install gcc-c++

查版本zhiling:

g++ --version

gcc --version

2):安裝jdk環(huán)境。具體可以上網(wǎng)上找資料。

以debian系統(tǒng)為例,在終端運(yùn)行的安裝zhiling如下:

sudo apt-get update

sudo apt-get install default-jre

sudo apt-get install default-jdk

三、開發(fā)步驟

1)創(chuàng)建一個(gè)Java程序(如LKT5103AJni.java)定義原生的c/c++函數(shù)。

2)用javac編譯(zhiling:javac LKT5103AJni.java) LKT5103AJni.java生成 LKT5103AJni.class。

3)用javah帶-jni參數(shù)編譯zhiling:javah -jni LKT5103AJni) LKT5103AJni.class生成 LKT5103AJni.h文件,該文件中 定義了c的函數(shù)原型。在實(shí)現(xiàn)c函數(shù)的時(shí)候需要。

4)創(chuàng)建LKT5103AJni.c,實(shí)現(xiàn)LKT5103AJni.h定義的函數(shù)。

5)編譯LKT5103AJni.c生成libLKT5103AJni.so。

zhiling:gcc -I/usr/lib/jvm/java-8-openjdk-amd64/include/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -fPIC -shared -o libLKT5103AJni.so LKT5103AJni.c

6)創(chuàng)建testJni.Java,實(shí)現(xiàn)測(cè)試jni接口。

7)編譯testJni.java(zhiling:javac testJni.java)。

8)運(yùn)行測(cè)試代碼。

(zhiling:export LD_LIBRARY_PATH=./   

java testJni   

或者:

java -Djava.library.path=. testJni)

全部回復(fù)(19)
正序查看
倒序查看
2019-10-17 13:41

JNI主要還是舉例子,舉例子直觀,

0
回復(fù)
zntsbkhhh
LV.2
3
2019-10-17 14:21
@miniminimini
JNI主要還是舉例子,舉例子直觀,
LKT5103A,好像在網(wǎng)上看見過(guò),具體誰(shuí)家的產(chǎn)品記不太清了.....
0
回復(fù)
小帆兒
LV.5
4
2019-10-17 15:00
@zntsbkhhh
LKT5103A,好像在網(wǎng)上看見過(guò),具體誰(shuí)家的產(chǎn)品記不太清了.....
凌科芯安的,我們公司就在用呢,技術(shù)服務(wù)很到位
0
回復(fù)
2019-10-17 17:01
@小帆兒
凌科芯安的,我們公司就在用呢,技術(shù)服務(wù)很到位
這套開發(fā)流程挺好的 ,說(shuō)的很詳細(xì),已經(jīng)推薦給我們技術(shù)部門了
0
回復(fù)
hiuu
LV.1
6
2019-10-18 16:04
@人稱福爺
這套開發(fā)流程挺好的,說(shuō)的很詳細(xì),已經(jīng)推薦給我們技術(shù)部門了
插入圖片更形象生動(dòng),每一步都配上初始圖片和結(jié)果圖,顯得更好。
0
回復(fù)
鄧女士
LV.5
7
2019-10-18 16:12
@hiuu
插入圖片更形象生動(dòng),每一步都配上初始圖片和結(jié)果圖,顯得更好。
有了JNI,Java的運(yùn)用更廣了 
0
回復(fù)
BLoun
LV.5
8
2019-10-18 23:00
@鄧女士
有了JNI,Java的運(yùn)用更廣了 
很不錯(cuò)學(xué)習(xí)了,但是為什么要求內(nèi)核是2.6版本以上。低版本也支持HID協(xié)議?。?/div>
0
回復(fù)
Hex315
LV.5
9
2019-10-19 10:49
@BLoun
很不錯(cuò)學(xué)習(xí)了,但是為什么要求內(nèi)核是2.6版本以上。低版本也支持HID協(xié)議???
文中的LKT5103A 是樓主新推出的一款產(chǎn)品吧,能簡(jiǎn)單介紹一下功能嗎? 
0
回復(fù)
114W1
LV.5
10
2019-10-19 18:33
@Hex315
文中的LKT5103A是樓主新推出的一款產(chǎn)品吧,能簡(jiǎn)單介紹一下功能嗎? 
LKT5103A是以32位安全芯片平臺(tái)為基礎(chǔ)的具有目前行業(yè)內(nèi)最高性能最高安全性的軟件加密產(chǎn)品。
0
回復(fù)
2019-10-19 23:24
5103除了HID接口還有別的接口嗎
0
回復(fù)
zntsbkhhh
LV.2
12
2019-10-19 23:41
應(yīng)該還支持其他的USB接口吧 
0
回復(fù)
2019-10-20 03:17
@zntsbkhhh
應(yīng)該還支持其他的USB接口吧 
LKT5103A是什么產(chǎn)品,有什么功能?是不是我自己的庫(kù)也可以這樣調(diào)用呢?如果可以那就非常有用了
0
回復(fù)
hiuu
LV.1
14
2019-10-20 11:57
為什么要用JNI呢

0
回復(fù)
小帆兒
LV.5
15
2019-10-20 22:46
@hiuu
為什么要用JNI呢
因?yàn)橛行┕δ躂AVA無(wú)法提供,比如對(duì)掃描儀驅(qū)動(dòng),只能想辦法通過(guò)C/C++來(lái)操作,然后用JAVA去調(diào)用C.這就需要JNI了.
0
回復(fù)
BLoun
LV.5
16
2019-10-21 21:27
@小帆兒
因?yàn)橛行┕δ躂AVA無(wú)法提供,比如對(duì)掃描儀驅(qū)動(dòng),只能想辦法通過(guò)C/C++來(lái)操作,然后用JAVA去調(diào)用C.這就需要JNI了.
這個(gè)是外接到USB接口的設(shè)備嗎?有沒(méi)有芯片貼片形式?可以集成到主板上的那種
0
回復(fù)
宇宙王
LV.3
17
2019-10-22 09:12
@BLoun
這個(gè)是外接到USB接口的設(shè)備嗎?有沒(méi)有芯片貼片形式?可以集成到主板上的那種
加密狗里面也都是芯片,只不過(guò)加了個(gè)外殼而已
0
回復(fù)
Hex315
LV.5
18
2019-10-22 11:51
@宇宙王
加密狗里面也都是芯片,只不過(guò)加了個(gè)外殼而已
使用JNI是因?yàn)長(zhǎng)KT5103A是其他語(yǔ)言的嗎,那它支持什么語(yǔ)言?
0
回復(fù)
鄧女士
LV.5
19
2019-10-22 13:41
@Hex315
使用JNI是因?yàn)長(zhǎng)KT5103A是其他語(yǔ)言的嗎,那它支持什么語(yǔ)言?
文章很實(shí)用,有沒(méi)有詳細(xì)的JNI接口說(shuō)明呀?這些編譯zhiling都是一樣的嗎? 
0
回復(fù)
114W1
LV.5
20
2019-10-22 18:00
@鄧女士
文章很實(shí)用,有沒(méi)有詳細(xì)的JNI接口說(shuō)明呀?這些編譯zhiling都是一樣的嗎? 
文章很不錯(cuò),學(xué)習(xí)了,謝謝樓主的分享!
0
回復(fù)
發(fā)