Apache Ftp服务器与Android集成

时间:2013-07-29 21:02:35

标签: android apache ftp connection

我正在努力将Apache FTP服务器集成到我的Android应用程序中 按照此处的说明(在5分钟内嵌入FtpServer):http://mina.apache.org/ftpserver-project/embedding_ftpserver.html

但是,包含所有代码并将jar文件导入到我的android项目中,我遇到两个主要错误: 1.应用程序崩溃ftp服务器开始声称未找到类 2. Dalvik错误1

通过研究所有相关问题来尝试每个方法,解决方案是保留(在5分钟内嵌入FtpServer)指令中列出的jar文件的最小子集并使代码编译。由于jar文件不多,所以我只是尝试了一些错误来获取我的最小子集。

之后我使用一些新代码来启动ftp服务器(这里是链接):writing a java ftp server

但是我无法连接,因为它说缺少user.properties文件。我下载ftpserver-1.0.6-src源代码并将user.properties文件放入我的android sdcard以使ftp启动。我首先将user.properties文件放在assets文件夹中,然后使用一些代码将其复制到sdcard。

现在一切似乎都有效。但是,我无法使用匿名登录,因为我的用户名和密码设置为:       BaseUser user = new BaseUser();       user.setName( “测试”);       user.setPassword( “测试”);

如果我没有设置它,代码将无法编译 以匿名用户身份登录是我必须做的最后一部分。 另一个微不足道的事情是当我ftp到我的android服务器时,它不允许我下载文件,因为它没有返回任何权限错误。

欢迎任何建议。谢谢

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,因此我创建了自定义的新users.properties文件。 这是代码:

    File files=new File(filepath + "/users.properties");  
    if (!files.exists()) {
          try {
              files.createNewFile();
          } catch (IOException e) {
             Log.e(TAG, "Errore nella creazione del file di log", e);
              e.printStackTrace();
          }
    }
    userManagerFactory.setFile(files);  
    userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
    UserManager um = userManagerFactory.createUserManager();
    BaseUser user = new BaseUser();
    user.setName("xxx");
    user.setPassword("yyy");
    user.setHomeDirectory("/mnt/sdcard");

    List<Authority> auths = new ArrayList<Authority>();
    Authority auth = new WritePermission();
    auths.add(auth);
    user.setAuthorities(auths);

    try {
        um.save(user);
    } catch (FtpException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
相关问题