Интеграция сервера Apache Ftp с Android

Я работаю над интеграцией Apache FTP-сервера в свое приложение для Android. Следуйте инструкциям здесь (Embedding FtpServer через 5 минут): http://mina.apache.org/ftpserver-project/embedding_ftpserver.html.

Тем не менее, со всеми включенными кодами и файлами jar, импортированными в мой проект андроида, у меня возникли две основные ошибки: 1. Ошибка приложения при запуске ftp-сервера для запуска класса не найден 2. Ошибка Dalvik 1

Пробовал каждый метод, исследуя все связанные проблемы, и решение заключается в том, чтобы сохранить минимальное подмножество файлов jar, указанное в инструкции (Embedding FtpServer за 5 минут) и сделать компиляцию кода. Поскольку не так много файлов jar, поэтому я просто сделал попытку и ошибку, чтобы получить минимальное подмножество.

После этого я использую новый код для запуска ftp-сервера (вот ссылка): создание java-сервера ftp

Однако я не мог подключиться, потому что он говорит, что отсутствует файл user.properties. Я загружаю исходный код ftpserver-1.0.6-src и помещаю файл user.properties в свою sdcard для Android, чтобы запустить ftp. Сначала я помещаю файл user.properties в папку с ресурсами, а затем скопирую его на SD-карту с помощью некоторого кода.

Теперь все работает. Тем не менее, я не могу использовать анонимный логин, так как мое имя пользователя и пароль задаются с помощью: BaseUser user = new BaseUser(); user.setName( "тест"); user.setPassword( "тест");

Если я его не установлю, код не будет компилироваться. Войти как анонимный пользователь - последняя часть, которую я должен сделать. Еще одна мелочь - когда я ftp на свой сервер Android, он не позволит мне загружать файлы, поскольку он не возвращает ошибку разрешения.

Любые предложения приветствуются. спасибо

1 ответ

У меня была такая же проблема, поэтому я создал свой собственный новый файл 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();
 }
</authority></authority>

licensed under cc by-sa 3.0 with attribution.