Das Übertragen von Dateien zwischen MacOS und Android oder anderen MTP -Geräten war schon immer ein Albtraum. Es gibt einige MTP -Apps, die online verfügbar sind, aber die meisten von ihnen sind entweder zu teuer oder mit schlechter UI/UX ausgestattet. Die offizielle App "Android -Dateiübertragung" für macOS von Google verfügt über Fehler, unzählige Einschränkungen, von denen einige enthalten - keine in der Lage zu sein, Dateien über 4 GB zu übertragen, häufige Unterbrechungen, die Ordner oder Dateien auf den Android/MTP -Geräten nicht umbenennen können. Die meisten anderen Apps, die online verfügbar sind, verwenden entweder das WLAN- oder das ADB-Protokoll, um die Dateien zu übertragen. Dies ist ein extrem zeitaufwändiger Prozess.
Unzählige Suchanfragen, um eine App zu finden, um diese Probleme zu lösen und eine nicht zu finden, machte mich unruhig. Also machte ich den Sprung und beschloss, eine App für uns zu erstellen, die uns helfen könnte, einen reibungslosen und problemlosen Dateiübertragungsprozess von MacOS auf Android/MTP-Geräte zu haben. Erstellt mit dem Ziel, der Community etwas zurückzugeben, können wir diese App in diesem Leben kostenlos nutzen.
OpenMTP 3.0 verfügt über einen neuen MTP -Kernel und wurde von Grund auf geschrieben. Es verspricht eine Kopiergeschwindigkeit von 30 bis 40 MB/s auf niedrigen und mittleren Bereichen und 100 bis 120 MB/s auf höheren Endgeräten. Der neue und mächtige MTP -Kernel ist nach Dr. Apj Abdul Kalam benannt
Machen Sie das GO-Paket, das ich geschrieben habe, um Kalam Kernel zu erstellen: github.com/ganeshrvel/go-mtpx. Fühlen Sie sich frei, PRs zu erhöhen.
Kalam -Kernel -Updates, die neue Geräteunterstützung, Korrekturen und Stabilitätsverbesserungen enthält. MacOS Big Sur (11.0) oder höher erhalten die oben genannten AktualisierungenKalam Kernel auf MacOS 10.13 (Os x el High Sierra) und niedrigeren offiziell im Ruhestand gezogen. Nur der MTP -Modus "Legacy" wird weiterhin an diesen veralteten Maschinen arbeiten.Intel und ARM64 -Maschinen veröffentlichen # newer versions:
brew install openmtp --cask
# older versions:
brew cask install openmtp

| Befehl | Tastaturverknüpfung |
|---|---|
| Löschen | Rücktaste |
| Neuer Ordner | Befehl (⌘) + n |
| Kopie | Befehl (⌘) + c |
| Kopieren Sie in die Warteschlange | Befehl (⌘) + Verschiebung + C. |
| Paste | Befehl (⌘) + v |
| Aktualisieren | Befehl (⌘) + r |
| Ordner hoch | Befehl (⌘) + b |
| Wählen Sie alle aus | Befehl (⌘) + a |
| Umbenennen | Befehl (⌘) + D. |
| Registerkarte Schalter | Befehl (⌘) + 1 |
| Offen | eingeben |
| Navigieren Sie links | links |
| Rechts navigieren | Rechts |
| Navigieren | hoch |
| Navigieren Sie nach unten | runter |
| Wählen Sie mehrere Elemente voran (in der Gitteransicht) | Verschiebung + links |
| Wählen Sie mehrere Elemente rückwärts (in der Gitteransicht) | Verschiebung + rechts |
| Wählen Sie mehrere Elemente weiter vor (in Listenansicht) | Verschiebung + hoch |
| Wählen Sie mehrere Elemente rückwärts (in Listenansicht) | Verschiebung + nach unten |
| Wählen Sie mehrere Elemente (mit Maus) | Befehl (⌘) + klicken oder verschieben + klicken |
Anforderungen: Node.js V16, Git und Garnpaketmanager
$ git clone https://github.com/ganeshrvel/openmtp.git
$ cd openmtp
# install yarn
npm install -g yarn
# install sentry cli
npm -g i @sentry/cli$ yarnEin frischer Klon kann einen undefinierten Zustandsfehler werfen. Führen Sie die folgenden Befehle einmal aus, um das Problem zu beheben.
# 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 -Menü in links -> Login -> Meine ZertifikateDeveloper ID Application in der oberen SuchleisteDeveloper ID Application keine Ergebnisse für die Organisation vorliegen, erstellen Sie eine von hier aus: Apple EntwicklerzertifikateDeveloper ID Application in der oberen SuchleisteDeveloper 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 , beachten Sie dies aufbase64 -i CERTIFICATE_PRIVATE_KEY.p12 -o CERTIFICATE_PRIVATE_KEY.txtCERTIFICATE_PRIVATE_KEY.txtCSC_LINK einCSC_KEY_PASSWORD ist das Passwort aus dem obigen SchrittCODEMAGIC_AUTH_TOKEN_ID : <CodeMagic API Token>CODEMAGIC_INTEL_X64_WORKFLOW_ID_PROD : <Prod codeMagic workflow id>codemagic.yaml (hauptsächlich macos-intel-x64-build-prod )CODEMAGIC_INTEL_X64_WORKFLOW_ID_DEV : <Dev codeMagic workflow id>codemagic.yaml (hauptsächlich 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 publishRichten Sie die Code -Unterzeichnung zum Erstellen, Paket (lokal) ein und veröffentlichen Sie die App.
App -Notarisierung für macOS (überspringen Sie diesen Abschnitt für Nicht -MacOS -Builds)
APPLEID und APPLE_APP_SPECIFIC_PASSWORD in .Env -Dateisecurity add-generic-password -a " <apple-developer-account-username> " -w < app-specific-password > -s " APPLE_APP_SPECIFIC_PASSWORD "Posten
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 loginVerpackungsanweisungen : 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 wirft einen NPM-Rebuild-Fehler aufnode-mac-permissions von package.jsondefault.plugins in der Datei webpack/config.base.js hinzunew webpack.IgnorePlugin({ resourceRegExp: /^(node-mac-permissions)$/u }),NODE_MAC_PERMISSIONS_MIN_OS definiert die minimale Betriebssystemversion, die zum Anzeigen des MACOS -Gebrauchszugriffsberechtigungs -Popups erforderlich isthttps://stackoverflow.com/questions/58358449/notarizing-electron-apps-apps-s-you-must-first-sign-the-relevant-contracts-on
https://stackoverflow.com/questions/58358449/notarizing-electron-apps-apps-s-you-must-first-sign-the-relevant-contracts-on
Ein besonderer Dank geht an Codemagic und Kevin Suhajda für das Sponsoring ihrer CI/CD -VMs, wodurch die App jetzt mehr optimierter und jetzt viel einfacher veröffentlicht wird. ? Schauen Sie sich den Abschnitt "Produkte" an.
Besonderer Shoutout an @Codyjung zum Hinzufügen der Unterstützung von Fujifilm- und Garmin -Geräten.
Vielen Dank an Frau Ayushi Bothra für den Beitrag zur Dokumentation und den Seiten.
Das App -Logo wurde von Shubhendu Mitra beigetragen. Schauen Sie sich mehr von seinen Werken in Behance an.
Vielen Dank an Vladimir Menshakov für Android-File-Transfer-Linux (der MTP-Legacy-Kernel)
Shoutout an @yennsarah, @H0tk3y, @Riginoemmen, @ajithkumarvm, @kiranshaji555, Dick Cowan, Kjell Daankert, Thorolf er Weißhuhn und an alle anderen Community -Mitglieder, die mir geholfen haben, die Anwendung zu testen.
Diese App wurde auf https://github.com/ganeshrvel/electron-react-redux-advanced-boilerplate erstellt, die eine stark modifizierte Gabel von https://github.com/electron-react-boilerplate/electron-react-boilerplate ist.
Die in der App verwendeten Ikonen wurden von Flaticon, Goodar Ware und Kiranshastry hergestellt, die nach CC 3.0 lizenziert wurden.
Die Ikone "kein Bild gefunden" wurde von Phonlaphat Thongsriphong hergestellt.
Wenn Sie daran interessiert sind, Probleme zu beheben und direkt zur Codebasis beizutragen, finden Sie in den Richtlinien.
Helfen Sie mir, die App frei und offen für alle zu halten.
Bitte kontaktieren Sie mich an [email protected]
OpenMTP | Die Android -Dateiübertragung für macOS wird unter MIT -Lizenz veröffentlicht.
Copyright © 2018-Present Ganesh Rathhinavel