Tôi muốn sử dụng SFTP trong dự án Android của mình. Android đã có thư viện SFTP hay tôi phải triển khai?Thư viện STFP Android
10
A
Trả lời
5
Tôi sử dụng andFTP để chuyển giao sftp nhưng không phải là nguồn mở.
Bạn có thể kiểm tra connectBot. Có sự cố về số sftp transfers.
4
Có, edtFTPj/PRO là thư viện Java thương mại hoạt động trên Android và hỗ trợ SFTP (cũng như FTP và FTPS).
0
Bạn có thể sử dụng jsch.
Gradle:
compile group: 'com.jcraft', name: 'jsch', version: '0.1.54'
Proguard (Tôi giữ nó nào và bỏ qua các cảnh báo Giải pháp dễ dàng, quá mức cần thiết tôi chọn không gây rối với nó ở đây..). Nếu bạn biết giải pháp đúng - hãy cho tôi biết.
-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.**
mã:
// 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();
}
Các vấn đề liên quan
- 1. Thư viện Android của Android
- 2. Thư viện Android Jar
- 3. Thư viện hoạt hình Android?
- 4. thư viện Carousel for android
- 5. Thư viện SNMP cho android
- 6. Thư viện OCR của Android
- 7. Sử dụng thư viện hỗ trợ trong các dự án và thư viện android (Android Studio)
- 8. Android Studio - Xây dựng một dự án Android với thư viện Android mà phụ thuộc vào một thư viện Android
- 9. Thư viện Android zoom in/out
- 10. Thư viện hỗ trợ Android là gì?
- 11. Thư viện Java SSH cho Android?
- 12. Lỗi thư viện thanh toán Android
- 13. thư viện Android MGBox2 tương đương?
- 14. Android: sử dụng SharedPreferences trong thư viện
- 15. Android Gradle và thư viện nhập
- 16. Thư viện bản đồ 3D cho android
- 17. Android: tải chậm trong Thư viện
- 18. Thư viện Android với pinch zoom
- 19. Cài đặt thư viện Android SlidingMenu
- 20. dự án thư viện android obfuscation
- 21. Appcompat/thêm thư viện với studio android
- 22. Chạy ffmpeg làm thư viện trong android
- 23. Android: Việc sử dụng thư viện ActionBarSherlock
- 24. Android: Có thư viện PDF miễn phí nào cho Android
- 25. Android Studio: cách nhập dự án thư viện Android
- 26. Thư viện Android có thể ở Gradle có các thư viện Android khác là phụ thuộc không?
- 27. Dự án Android trong Eclipse thiếu thư mục thư viện Android 4.2.2
- 28. Cách sử dụng thư viện openSSL trong ứng dụng ANDROID
- 29. Android: Cách sử dụng "sử dụng thư viện"?
- 30. Nâng cấp thư viện gốc không hoạt động trên Android
Hi Macarse thnk bạn trả lời của bạn. Tôi đã đi qua connectbolt SSH khách hàng nguồn mở trên Android. Bây giờ tôi muốn hỏi tôi có thể tích hợp FTP và SSH connectbolt để tạo SFTP của tôi không ?? Có bao nhiêu khả thi nó sẽ được xem xét rằng tôi không biết nhiều nội bộ của SSH. Cảm ơn trước. –
Tôi nghĩ rằng họ sẽ thêm nó, nhưng nó chưa có. Đăng nhận xét về vấn đề và yêu cầu họ. – Macarse