2014-10-10 26 views
0
import javax.smartcardio.Card; 
import javax.smartcardio.CardChannel; 
import javax.smartcardio.CardException; 
import javax.smartcardio.CardTerminal; 
import javax.smartcardio.CommandAPDU; 
import javax.smartcardio.ResponseAPDU; 
import javax.smartcardio.TerminalFactory; 
TerminalFactory terminalFactory = TerminalFactory.getDefault(); 

我想使用USB主機與智能卡通訊在Android墊我得到java.lang.NoClassDefFoundError:javax.smartcardio.TerminalFactory

但爲什麼我得到java.lang.NoClassDefFoundError:使用javax。 smartcardio.TerminalFactory

我已經導入......

,我不知道如何包裝這一lib放到應用

+0

你能告訴我們你的運行時間嗎?您可能位於較舊的64位運行時。 'smartcardio'在'javax'樹中,這意味着它是一個可選的包。 JRE不需要執行它。 – 2014-10-18 00:35:07

+0

我可以在java項目上運行它,但android項目無法在我的平板電腦/手機上運行 – 2014-10-20 08:54:14

回答

0

當你做了開發所需的jar包含

javax.smartcardio.TerminalFactory 

是在類路徑中。

但是,當你做安裝/部署/包裝,你確保所需的jar也隨應用程序一起打包。

+0

感謝您的回覆您的意思是將它添加到calsspath? – 2014-10-10 07:08:03

+0

你是對的...我不知道如何將這個lib包裝到應用程序中... – 2014-10-10 07:20:16

+0

看到這個 - http://stackoverflow.com/questions/15094228/are-there-javax-smartcardio-analogues-on- android/15110077#15110077 – 2014-10-10 07:39:47