Le transfert de fichiers entre macOS et Android ou tout autre appareil MTP a toujours été un cauchemar. Il existe quelques applications MTP de transfert de fichiers qui sont disponibles en ligne, mais la plupart d'entre elles sont trop chères ou sont livrées avec une mauvaise interface utilisateur / UX. L'application officielle de transfert de fichiers Android pour macOS à partir de Google est livrée avec des bogues, d'innombrables limitations, dont certaines incluent - sans pouvoir transférer des fichiers supérieurs à 4 Go, des déconnexions fréquentes, incapables de renommer les dossiers ou les fichiers sur les appareils Android / MTP. La plupart des autres applications disponibles en ligne utilisent le protocole WiFi ou BAD pour transférer les fichiers, ce qui est un processus extrêmement long.
D'innombrables recherches pour trouver une application pour résoudre ces problèmes et ne pas en trouver une a rendu agité. J'ai donc pris le saut et j'ai décidé de créer une application pour nous qui pourrait nous aider à avoir un processus de transfert de fichiers fluide et sans tracas de MacOS vers les appareils Android / MTP. Créé dans l'objectif de redonner à la communauté, nous pouvons tous utiliser cette application gratuitement dans cette vie.
OpenMTP 3.0 propose un nouveau noyau MTP et il a été écrit à partir de zéro. Il promet une vitesse de copie de fichiers de 30 à 40 Mo / s sur des périphériques à bas niveau et à milieu et 100 à 120 Mo / s sur des dispositifs haut de gamme. Le noyau MTP tout nouveau et puissant est nommé d'après le Dr Apj Abdul Kalam
Découvrez le package Go que j'ai écrit pour construire le noyau Kalam: github.com/ganeshrvel/go-mtpx. N'hésitez pas à élever des PR.
Kalam , qui comprend de nouveaux supports de l'appareil, correctifs, améliorations de stabilité. MacOS Big Sur (11.0) ou plus recevra lesdites mises à jour ci-dessusKalam sur MacOS 10.13 (OS X El High Sierra) et plus bas. Seul le mode MTP "Legacy" continuera de travailler sur ces machines obsolètes.Intel et ARM64 # newer versions:
brew install openmtp --cask
# older versions:
brew cask install openmtp

| Commande | Raccourci clavier |
|---|---|
| Supprimer | arrière |
| Nouveau dossier | commande (⌘) + n |
| Copie | commande (⌘) + c |
| Copier à la file d'attente | commande (⌘) + shift + c |
| Coller | Commande (⌘) + V |
| Rafraîchir | commande (⌘) + r |
| Dossier | commande (⌘) + b |
| Sélectionnez tout | commande (⌘) + a |
| Rebaptiser | commande (⌘) + d |
| Onglet Interrupteur | commande (⌘) + 1 |
| Ouvrir | entrer |
| Naviguer à gauche | gauche |
| Naviguer à droite | droite |
| Naviguer | en haut |
| Naviguer vers le bas | vers le bas |
| Sélectionnez plusieurs éléments en avant (en vue de la grille) | Shift + à gauche |
| Sélectionnez plusieurs éléments à l'arrière (en vue de la grille) | Shift + à droite |
| Sélectionnez plusieurs éléments en avant (dans la vue de la liste) | Shift + Up Up |
| Sélectionnez plusieurs éléments en arrière (dans la vue de la liste) | Shift + Down |
| Sélectionnez plusieurs éléments (avec souris) | commande (⌘) + cliquez ou décalé + cliquez |
Exigences: Node.js v16, Git et gestionnaire de packages de fils
$ git clone https://github.com/ganeshrvel/openmtp.git
$ cd openmtp
# install yarn
npm install -g yarn
# install sentry cli
npm -g i @sentry/cli$ yarnUn nouveau clone pourrait lancer une erreur d'état indéfinie . Exécutez les commandes suivantes une fois pour résoudre le problème.
# For Mac and Linux
$ UPGRADE_EXTENSIONS=1 npm run dev
# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run dev # Development
$ yarn dev
# Pre-production
$ yarn start
# On terminal run
$ " /path/to/OpenMTP.app/Contents/MacOS/OpenMTP " --remote-debugging-port=6363localhost:63636363APPLEID : <Apple developer account username>APPLE_APP_SPECIFIC_PASSWORD : <App-Specific Password>APPLE_TEAM_ID : <Apple Team ID>SENTRY_URL : https://sentry.io/SENTRY_ORG : <Sentry Organization Name>SENTRY_PROJECT : <Sentry Project>SENTRY_TOKEN_ID : <Sentry Auth Token>event:admin, event:read, member:read, org:read, project:read, project:releases, team:readGITHUB_TOKEN : Personal access tokenContents - (Read and Write access to code)admin:gpg_key, admin:public_key, repo, user, workflowCSC_LINK :Default Keychains dans la gauche -> Connexion -> Mes certificatsDeveloper ID Application dans la barre de recherche supérieureDeveloper ID Application , pour l'organisation, créez-en un à partir d'ici: Certificats de développeur AppleDeveloper ID Application dans la barre de recherche supérieureDeveloper ID Application: <User Name> (XXXYYYZZZ)Mac Developer ID Application: <User Name>Mac Developer ID Application: <User Name>Mac Developer ID Application: <User Name>Mac Developer ID Application: <User Name>CERTIFICATE_PRIVATE_KEY.p12CSC_KEY_PASSWORD , notez cecibase64 -i CERTIFICATE_PRIVATE_KEY.p12 -o CERTIFICATE_PRIVATE_KEY.txtCERTIFICATE_PRIVATE_KEY.txtCSC_LINKCSC_KEY_PASSWORD est le mot de passe de l'étape ci-dessusCODEMAGIC_AUTH_TOKEN_ID : <CodeMagic API Token>CODEMAGIC_INTEL_X64_WORKFLOW_ID_PROD : <Prod codeMagic workflow id>codemagic.yaml , (principalement macos-intel-x64-build-prod )CODEMAGIC_INTEL_X64_WORKFLOW_ID_DEV : <Dev codeMagic workflow id>codemagic.yaml , (principalement macos-intel-x64-build-dev )PUBLISH_PROD_REPOSITORY : <Repository to publish the production app>PUBLISH_DEV_REPOSITORY : <Repository to publish the dev app>CODEMAGIC_PUBLISH_PROJECT_ID : <Codemagic intel project id>PUBLISH_EMAIL : Email address to receive the updates on publishConfigurez la signature de code pour créer, package (localement) et publier l'application.
Notarisation de l'application pour macOS (sautez cette section pour les constructions non macOS)
APPLEID et APPLE_APP_SPECIFIC_PASSWORD dans .env Filesecurity add-generic-password -a " <apple-developer-account-username> " -w < app-specific-password > -s " APPLE_APP_SPECIFIC_PASSWORD "Sentinelle
npm install -g @sentry/wizard
sentry-wizard --integration electron
# Upload Debug Information
# Everytime the electron.js version is upgraded run:
node sentry-symbols.js
sentry-cli loginInstructions d'emballage : https://www.electron.build/code-signing
$ export GH_TOKEN= " <github token> " # For local platform
$ yarn package
# For multiple platforms
$ yarn package-allElectron-React-Boilerplate / Electron-React-Boilerplate # 400
Electron-React-Boilerplate / Electron-React-Boilerplate # 118
Electron-React-Boilerplate / Electron-React-Boilerplate # 108
# For Mac and Linux
$ UPGRADE_EXTENSIONS=1 npm run dev
# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run devSpeech framework is not compatible with macOS < 10.15yarn install lancera une erreur de reconstruction NPM-Rebuildnode-mac-permissions de package.jsondefault.plugins dans le fichier webpack/config.base.jsnew webpack.IgnorePlugin({ resourceRegExp: /^(node-mac-permissions)$/u }),NODE_MAC_PERMISSIONS_MIN_OS définit la version minimale du système d'exploitation qui est nécessaire pour afficher la fenêtre de permission d'accès à utilisation macOShttps://stackoverflow.com/questions/58358449/notarizing-electron-apps-throws-you-must-first-sign-the-relevant-contracts-on
https://stackoverflow.com/questions/58358449/notarizing-electron-apps-throws-you-must-first-sign-the-relevant-contracts-on
Un merci spécial à Codemagic et Kevin Suhajda pour avoir parrainé leurs VM CI / CD, ce qui rend les versions de l'application plus rationalisées et beaucoup plus faciles maintenant. ?? Découvrez leur section de produits pour en savoir plus.
Shoutout spécial à @CodyJung pour ajouter la prise en charge des périphériques Fujifilm et Garmin.
Merci à Mme Ayushi Bothra d'avoir contribué à la documentation et aux pages.
Le logo de l'application a été apporté par Shubhendu Mitra. Assurez-vous de découvrir plus de ses œuvres sur Behance.
Merci à Vladimir Menshakov pour Android-File-Transfer-Linux (le noyau MTP Legacy)
Shoutout à @yennsarah, @ h0tk3y, @riginoommen, @ajithkumarvm, @ kiranshaji555, Dick Cowan, Kjell Dankert, Thorolf er Weißhuhn et à tous les autres membres de la communauté qui m'ont aidé à tester la demande.
Cette application a été construite sur https://github.com/aneshrvel/electron-react-redux-advanced-boilerplate qui est une fourche très modifiée de https://github.com/electron-react-boilerplate/electron-react-boilerplate.
Les icônes utilisées dans l'application ont été réalisées par Flaticon, Good-Ware et Kiranshastry qui est autorisée sous CC 3.0.
L'icône "sans image trouvée" a été fabriquée par Phonlaphat Thongsriphong.
Si vous souhaitez résoudre les problèmes et contribuer directement à la base de code, veuillez consulter les directives.
Aidez-moi à garder l'application gratuite et ouverte pour tous.
N'hésitez pas à me contacter à [email protected]
OpenMTP | Le transfert de fichiers Android pour MacOS est publié sous la licence MIT.
Copyright © 2018-présent Ganesh Rathinavel