Je souhaite utiliser SFTP dans mon projet Android. Est-ce que Android a déjà une bibliothèque SFTP , ou dois-je l'implémenter?Bibliothèque Android STFP
10
A
Répondre
5
J'utilise andFTP pour les transferts sftp mais ce n'est pas open source. Vous pouvez vérifier connectBot. Il y a un problème à propos de sftp transfers.
4
Oui, edtFTPj/PRO est une bibliothèque Java commerciale qui fonctionne sur Android et prend en charge SFTP (ainsi que FTP et FTPS).
0
Vous pouvez utiliser jsch.
Gradle:
compile group: 'com.jcraft', name: 'jsch', version: '0.1.54'
Proguard (je ne le garder public et ignorer les avertissements solution facile, surpuissance je choisis de ne pas salir avec elle ici..). Si vous connaissez la solution correcte - faites le moi savoir.
-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.**
Code
:
// 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();
}
Questions connexes
- 1. bibliothèque android reliant
- 2. Projets de bibliothèque Android
- 3. Bibliothèque graphique Android 2D
- 4. Android Contacts bibliothèque simple?
- 5. Bibliothèque Android media_jni introuvable
- 6. bibliothèque de périphériques UPnP: Android
- 7. Bibliothèque de matrice efficace Android
- 8. Comment écrire une bibliothèque pour Android?
- 9. Android NDK compiler la bibliothèque gmp
- 10. AndParcel autorise android Projets de bibliothèque?
- 11. Comment expédier la bibliothèque pour Android
- 12. Bibliothèque de reconnaissance de visage dans android
- 13. Projets de bibliothèque Android builds personnalisés
- 14. Bibliothèque graphique compatible GPL pour Android
- 15. Créer une bibliothèque pour le développement Android?
- 16. Bibliothèque de codes à barres pour Android
- 17. Android - Ajouter une nouvelle bibliothèque à repo?
- 18. Android - Ajouter une bibliothèque externe au projet
- 19. Android xmpp ssl problème de bibliothèque
- 20. Bibliothèque ePub pour Java ou Android
- 21. impossible de charger la bibliothèque à l'exécution dans l'application android
- 22. Bibliothèque de rapports de plantage Android (pré Froyo)
- 23. Bibliothèque de vérification des licences Android et plusieurs comptes Google
- 24. Packing une bibliothèque android sur un JAR qui utilise JNI
- 25. Une application Android AIR peut-elle appeler une bibliothèque NDK?
- 26. Existe-t-il une bibliothèque comme RPX pour Android?
- 27. Bibliothèque de vérification des licences Android hors ligne
- 28. Y at-il une bonne bibliothèque yaml pour Android?
- 29. Chaîne Replace (or "Override") dans le projet de bibliothèque Android
- 30. Android - échec lors du chargement de la bibliothèque
Salut Macarse vous THNK votre réponse. Je suis passé par le client open source connectbolt SSH sur android. Maintenant, je veux demander si je peux intégrer FTP et connectbolt SSH pour former mon SFTP ?? Combien serait-il possible de considérer que je ne connais pas grand-chose des internes de SSH. Merci d'avance. –
Je pense qu'ils vont l'ajouter, mais ce n'est pas encore là. Postez un commentaire sur le problème et demandez-leur. – Macarse