我正在努力将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服务器时,它不允许我下载文件,因为它没有返回任何权限错误。
欢迎任何建议。谢谢
答案 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();
}