節約情報 HT-03A IS01,03,05 SH-10B Galaxy etc WiFi環境 開発ノウハウ 参考情報
トップページ > 開発ノウハウ
スマートフォン版に切り替える(New!)

開発ノウハウ

JCIFS(Windowsファイル共有、samba、javaライブラリ)がAndroid1.6と2.2で挙動が違う件

久々に、JCIFSを触わりましたが、Android2.2(L-04C)では動かず、Android1.6(HT-03A)では動くという現象に遭遇しました。

たぶん、JCIFSが悪いんじゃなくて、もっと下の方でおかしくなってるんだろうな。

Android2.2ではこんなLog出ます。

DEBUG/Jcifs(16939): Jcifs Exception
DEBUG/Jcifs(16939): jcifs.smb.SmbException: Failed to connect: 0.0.0.0<00>/192.168.1.101
DEBUG/Jcifs(16939): jcifs.util.transport.TransportException
DEBUG/Jcifs(16939): java.net.SocketException: No route to host
DEBUG/Jcifs(16939): at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl(Native Method)
DEBUG/Jcifs(16939): at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocket(OSNetworkSystem.java:130)
DEBUG/Jcifs(16939): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:246)
DEBUG/Jcifs(16939): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533)
DEBUG/Jcifs(16939): at java.net.Socket.connect(Socket.java:1055)
DEBUG/Jcifs(16939): at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:263)
DEBUG/Jcifs(16939): at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:317)
DEBUG/Jcifs(16939): at jcifs.util.transport.Transport.run(Transport.java:241)
DEBUG/Jcifs(16939): at java.lang.Thread.run(Thread.java:1096)
DEBUG/Jcifs(16939): at jcifs.util.transport.Transport.run(Transport.java:258)
DEBUG/Jcifs(16939): at java.lang.Thread.run(Thread.java:1096)
DEBUG/Jcifs(16939): at jcifs.smb.SmbTransport.connect(SmbTransport.java:307)
DEBUG/Jcifs(16939): at jcifs.smb.SmbTree.treeConnect(SmbTree.java:156)
DEBUG/Jcifs(16939): at jcifs.smb.SmbFile.doConnect(SmbFile.java:911)
DEBUG/Jcifs(16939): at jcifs.smb.SmbFile.doShareEnum(SmbFile.java:1788)
DEBUG/Jcifs(16939): at jcifs.smb.SmbFile.doEnum(SmbFile.java:1736)
DEBUG/Jcifs(16939): at jcifs.smb.SmbFile.listFiles(SmbFile.java:1715)
DEBUG/Jcifs(16939): at jcifs.smb.SmbFile.listFiles(SmbFile.java:1648)

残念ながら、まだ解決に至りません。

AstroマネージャーのSMBモジュールの解決方法は載ってたんですが。

Using SMB Module with Astro

これを参考に、

System.setProperty("jcifs.smb.client.useExtendedSecurity", "false");

とか試してみたが効果なし。