Android 프로젝트에서 SFTP를 사용하고 싶습니다. Android에 이미 SFTP 라이브러리가 있습니까? 아니면 구현해야합니까?Android STFP 라이브러리
10
A
답변
5
SFTP 전송에 andFTP을 사용하지만 공개 소스가 아닙니다.
connectBot을 확인할 수 있습니다. sftp transfers에 관한 문제가 있습니다.
4
예, edtFTPj/PRO은 Android에서 작동하며 SFTP (FTP 및 FTPS는 물론)를 지원하는 상용 Java 라이브러리입니다.
0
jsch을 사용할 수 있습니다.
Gradle을 :
compile group: 'com.jcraft', name: 'jsch', version: '0.1.54'
Proguard와는 (나는 대중을 유지하고 경고를 무시 않는 쉬운 솔루션을 과잉 내가하지 여기와 혼란에 선택합니다..). 정확한 해결책을 알고 있다면 알려주세요.
-keep class com.jcraft.jsch.jce.*
-keep class * extends com.jcraft.jsch.KeyExchange
-keep class com.jcraft.jsch.**
-keep class com.jcraft.jzlib.**
-keep class com.jcraft.jsch.jce.*
-keep class com.jcraft.jzlib.ZStream
-keep class com.jcraft.jsch.Compression
-keep class org.ietf.jgss.*
-dontwarn org.ietf.jgss.**
-dontwarn com.jcraft.jsch.**
코드 :
// add correct exception-handling; remember to close connection in all cases
public void doUpload(String host, String user, String password, String folder, int port, File file){
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, port);
session.setPassword(password);
java.util.Properties config = new java.util.Properties();
//Don't do it on Production -- makes it MITM-vulnerable
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setTimeout(5000);
session.setConfig("PreferredAuthentications", "password");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp channelSftp = (ChannelSftp) channel;
String home = channelSftp.getHome();
if (folder == null || folder.length() == 0 || "/".equals(folder)) {
folder = home;
} else {
File file = new File(new File(home), folder);
folder = file.getPath();
}
channelSftp.cd(folder);
try (BufferedInputStream buffIn = new BufferedInputStream(new FileInputStream(file.getPath()))) {
ProgressInputStream progressInput = new ProgressInputStream(buffIn, progressListener, file.length());
channelSftp.put(progressInput, file.getName());
}
channelSftp.disconnect();
session.disconnect();
}
관련 문제
- 1. Android 사용자 정의 라이브러리
- 2. Android 라이브러리 Project
- 3. Android 라이브러리 매니페스트
- 4. Android 앱용 캘린더 라이브러리
- 5. Honeycomb의 Android 호환성 라이브러리
- 6. Android 이미지 필터 라이브러리
- 7. Android 용 바코드 라이브러리
- 8. Android OCR 라이브러리
- 9. Android NDK 라이브러리 공유
- 10. Android 호환성 라이브러리 오류
- 11. android 용 혜성 라이브러리
- 12. Android 효율적인 매트릭스 라이브러리
- 13. Android 용 라이브러리 이식
- 14. AMQP + Android 라이브러리
- 15. 스트리밍 라이브러리 VLC Android
- 16. Android 라이선스 라이브러리 대안
- 17. Android 라이브러리 프로젝트 난독 화
- 18. Android 라이브러리 프로젝트 - 클래스 정의
- 19. Android xmpp ssl 라이브러리 문제
- 20. Android 라이브러리 - 사용중인 패키지 확인
- 21. Android 라이브러리 : 리소스가 병합되었습니다. 코드가
- 22. Android 결제 라이브러리 사용 방법
- 23. AndParcel이 android 라이브러리 프로젝트를 허용합니까?
- 24. Android 용 라이브러리 컴파일 NDK
- 25. Eclipse에 대한 Android 라이브러리 통합
- 26. Android 라이브러리 프로젝트에서 난독 화 라이브러리 생성 프로젝트
- 27. Android 용 GPL 호환 그래프 라이브러리
- 28. Android 웹 브라우저로 라이브러리 사진 업로드
- 29. JNI 기반이 아닌 Android 공유 라이브러리
- 30. Android JNI에서 라이브러리 헤더를 사용할 때의 문제
안녕 Macarse 는 당신에게 회신을 Thnk. 나는 안드로이드에 connectbolt SSH 오픈 소스 클라이언트를 사용했다. 이제 SFTP를 형성하기 위해 FTP와 connectbolt SSH를 통합 할 수 있는지 묻고 싶습니다. ?? SSH의 내부 구조에 대해 많이 모르고 있다고 생각하는 것이 얼마나 실용적입니까. 미리 감사드립니다. –
나는 그것들을 추가 할 것이라고 생각하지만, 아직 거기에 없다. 문제에 대한 의견을 게시하고 질문하십시오. – Macarse