2013-07-29 77 views
1

我正在將Apache FTP服務器集成到我的Android應用程序。
請按照此處的說明(5分鐘內嵌入FtpServer):http://mina.apache.org/ftpserver-project/embedding_ftpserver.htmlApache Ftp服務器與Android的集成

然而,包括所有的代碼,並導入到我的Android項目的jar文件,我有兩個主要錯誤: 1.在FTP服務器程序崩潰的開始聲稱未找到類 2. Dalvik的誤差1

通過研究所有相關問題嘗試了每種方法,解決方案是保留(嵌入FtpServer在5分鐘)指令中列出的jar文件的最小子集並編譯代碼。由於沒有太多的jar文件,所以我只是做了一些嘗試和錯誤,以獲得我的最小子集。

之後,我使用了一些新的代碼來啓動FTP服務器(這裏是鏈接):writing a java ftp server

但是我無法連接,因爲它說缺少user.properties文件。我下載了ftpserver-1.0.6-src源代碼,並將user.properties文件放入我的android sdcard中,以啓動ftp。我首先將user.properties文件放在資產文件夾中,然後使用一些代碼將其複製到SD卡中。

現在一切似乎工作。但是,我無法使用匿名登錄,因爲我的用戶名和密碼設置爲: BaseUser user = new BaseUser(); user.setName(「test」); user.setPassword(「test」);

如果我沒有設置它,代碼將不會編譯。
以匿名用戶身份登錄是我必須做的最後一部分。 另一個微不足道的事情是,當我ftp到我的android服務器時,它不會允許我下載文件,因爲它不返回任何權限錯誤。

歡迎任何建議。謝謝

+0

,我使用的jar文件是:ftplet-API-1.0.6.jar \t \t FTPServer的核 - 1.0.6.jar \t \t米納核-2.0 .7.jar \t \t SLF4J-API-1.6.6.jar \t \t SLF4J-簡單1.5.3.jar – ksu

+0

可以使用的想法在這個鏈接複製上下文文件:http://stackoverflow.com/問題/ 14154476 /如何閱讀-A-文件從資產文件夾功能於安卓 – ksu

回答

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(); 
    }