在android 2.3上使用jcifs库时出现NoClassDefFound异常

时间:2012-05-03 05:51:56

标签: java android jcifs

我在我的Android应用程序中使用了jcifs-1.3.17.jar库。

以下一段代码在Android 1.6模拟器上运行良好,但在2.3和3.0上失败。

应用程序启动时,在2.3模拟器的logcat中获取以下警告。

05-03 10:41:43.105: E/dalvikvm(338): Could not find class 'jcifs.smb.NtlmPasswordAuthentication', referenced from method myPackage.getFile

在创建NtlmPasswordAuthentication对象时获得以下异常。

05-03 10:49:59.765: E/AndroidRuntime(338): java.lang.NoClassDefFoundError: jcifs.smb.NtlmPasswordAuthentication

任何人都可以告诉我,我缺少什么?

我的功能是

public boolean getFile(String url) 
    {
        try 
        {

            String  name="server1";//my windows username
            String  password="password1";//my windows password

            SmbFile dir=null;
            url = url.toLowerCase();

            if (!url.startsWith("smb://") )
                url = "smb://" + url;

            SmbFile file = null;
            try 
            {
                NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, name, password);
                file = new SmbFile(url, auth);
                SmbFileInputStream in = new SmbFileInputStream( file );

                File gpxfile = null;
                File root = Environment.getExternalStorageDirectory();
                gpxfile = new File(root, file.getName());
                gpxfile.delete();
                gpxfile.createNewFile();
                FileOutputStream out = new FileOutputStream(gpxfile);

                long t0 = System.currentTimeMillis();

                byte[] b = new byte[8192];
                int n, tot = 0;
                long t1 = t0;
                while(( n = in.read( b )) > 0 ) {
                    out.write( b, 0, n );
                    tot += n;
                }


            } 
            catch (Exception e1) 
            {

            }


            return true;
        } 
        catch (Exception e) 
        {
            return false;
        }
    }

1 个答案:

答案 0 :(得分:3)

在项目中添加文件夹libs并复制所有jar文件。

按照这些说明进行操作

所以右键点击你的项目 - >创建一个名为 libs 的文件夹

并按照

中的此步骤操作
 right click (on libs folder) -->import-->File System-->browse to select your jar file and hit finish and run you project.

之后

 right click on the project --> Built Path-->java built path-->add jars select your jar file from your libs folder