2013-07-29 3 views
1

나는 안드로이드 애플 리케이션에 아파치 FTP 서버를 통합에 노력하고 있습니다.
여기 (FtpServer 포함 5 분) : http://mina.apache.org/ftpserver-project/embedding_ftpserver.html 안내를 따르십시오. FTP 서버에 따라 1. 응용 프로그램 충돌이 클래스를 찾을 수 없습니다에게 2 달빅 오류 1안드로이드와 아파치 Ftp 서버 통합

을 주장 시작 : 모든 코드가 포함되어 있으며 jar 파일 내 안드로이드 프로젝트에 수입과

그러나, 나는 두 가지 오류가있어 관련된 모든 문제를 조사하여 모든 방법을 시도했으며 해결책은 (5 분 안에 FtpServer 포함) 지시에 나열된 jar 파일의 최소 하위 집합을 유지하고 코드를 컴파일하는 것입니다. 많은 jar 파일이 없으므로 필자는 최소한의 부분 집합을 얻기 위해 약간의 try와 error를했다.

는 그 후 나는 (여기 링크입니다) ftp 서버를 시작하는 몇 가지 새로운 코드를 사용 writing a java ftp server

그러나이없는 user.properties 파일을 말한다 때문에 내가 연결할 수 없습니다. ftpserver-1.0.6-src 소스 코드를 다운로드하고 user.properties 파일을 내 안드로이드 sdcard에 넣어 ftp를 시작합니다. user.properties 파일을 assets 폴더에 넣은 다음 몇 가지 코드를 사용하여 sdcard에 복사합니다.

이제 모든 것이 제대로 작동하는 것처럼 보입니다. 그러나 내 사용자 이름과 암호가 다음과 같이 설정되어 익명 로그인을 사용할 수 없습니다. BaseUser user = new BaseUser(); user.setName ("test"); user.setPassword ("test");

설정하지 않으면 코드가 컴파일되지 않습니다.
익명 사용자로 로그인하면 내가해야 할 마지막 부분입니다. 또 다른 사소한 일은 내가 안드로이드 서버에 ftp 할 때 권한 오류를 반환하기 때문에 파일을 다운로드하지 못하게하는 것입니다.

모든 의견을 환영합니다. 고맙습니다.

+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/how-to-read-a-file-from-assets-in-android – ksu

답변

0

동일한 문제가 있었으므로 새로운 custom.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(); 
    }