使用之前需要先下载jar包,可以在官网下载或者从下文附带的DEMO源码中拿
在AndroidManifest.xml中声明权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
编译后可能会出现如下错误
解决:在build.gradle文件中加如下代码
android {
...
...
...
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
}
}
开启FTP服务端
private void startFtp() throws FtpException {
FtpServerFactory serverFactory = new FtpServerFactory();
//设置访问用户名和密码还有共享路径
BaseUser baseUser = new BaseUser();
baseUser.setName(user);
baseUser.setPassword(password);
baseUser.setHomeDirectory(rootPath);
List<Authority> authorities = new ArrayList<Authority>();
authorities.add(new WritePermission());
baseUser.setAuthorities(authorities);
serverFactory.getUserManager().save(baseUser);
ListenerFactory factory = new ListenerFactory();
factory.setPort(port); //设置端口号 非ROOT不可使用1024以下的端口
serverFactory.addListener("default", factory.createListener());
server = serverFactory.createServer();
server.start();
}
关闭FTP服务端
server.stop();
FTP服务开启后就可以通过浏览器访问了