A transferência de arquivos entre MacOS e Android ou qualquer outro dispositivo MTP sempre foi um pesadelo. Existem alguns aplicativos MTP de transferência de arquivos que estão disponíveis on -line, mas a maioria deles é muito cara ou vem com UI/UX ruim. O aplicativo oficial "Android File Transfer" para MacOS do Google vem com bugs, inúmeras limitações, algumas das quais incluem - não poder transferir arquivos maiores que 4 GB, desconexões frequentes, incapazes de renomear as pastas ou arquivos nos dispositivos Android/MTP. A maioria dos outros aplicativos disponíveis on-line usa o protocolo WiFi ou ADB para transferir os arquivos, o que é um processo extremamente demorado.
Inúmeras pesquisas para encontrar um aplicativo para resolver esses problemas e não encontrar um me deixou inquieto. Então, dei o salto e decidi criar um aplicativo para nós que poderia nos ajudar a ter um processo de transferência de arquivos suave e sem complicações do MacOS para os dispositivos Android/MTP. Criado com o objetivo de retribuir à comunidade, todos podemos usar este aplicativo gratuitamente nesta vida.
O OpenMTP 3.0 possui um novo kernel MTP e foi escrito a partir do zero. Ele promete uma velocidade de cópia de arquivo de 30 a 40 Mb/s em dispositivos de baixa e média alcance e 100 a 120 Mb/s em dispositivos de ponta. O novo e poderoso kernel MTP recebeu o nome do Dr. Apj Abdul Kalam
Confira o pacote Go que escrevi para construir Kalam Kernel: github.com/ganeshrvel/go-mtpx. Sinta -se à vontade para aumentar os PRs.
Kalam Kernel, que incluem suportes de novos dispositivos, correções, melhorias de estabilidade. MacOS Big Sur (11.0) ou acima receberá as atualizações acima mencionadasKalam Kernel no MacOS 10.13 (OS X El High Sierra) e Lower. Somente o modo MTP "Legacy" continuará trabalhando nessas máquinas desatualizadas.Intel e ARM64 # newer versions:
brew install openmtp --cask
# older versions:
brew cask install openmtp

| Comando | Atalho de teclado |
|---|---|
| Excluir | backspace |
| Nova pasta | comando (⌘) + n |
| Cópia | comando (⌘) + c |
| Cópia para fila | comando (⌘) + shift + c |
| Colar | comando (⌘) + v |
| Atualizar | comando (⌘) + r |
| Pasta para cima | comando (⌘) + b |
| Selecione tudo | comando (⌘) + a |
| Renomear | comando (⌘) + d |
| Guia Switch | comando (⌘) + 1 |
| Abrir | digitar |
| Navegue para a esquerda | esquerda |
| Navegue à direita | certo |
| Navegue para cima | acima |
| Navegar para baixo | abaixo |
| Selecione vários itens para a frente (na visualização da grade) | Shift + esquerda |
| Selecione vários itens para trás (na visualização da grade) | Shift + Right |
| Selecione vários itens para a frente (na visualização da lista) | mudança + para cima |
| Selecione vários itens para trás (na visualização da lista) | Shift + Down |
| Selecione vários itens (com mouse) | comando (⌘) + clique ou shift + clique |
Requisitos: Node.js v16, gerente de pacotes Git e Yarn
$ git clone https://github.com/ganeshrvel/openmtp.git
$ cd openmtp
# install yarn
npm install -g yarn
# install sentry cli
npm -g i @sentry/cli$ yarnUm novo clone pode apresentar erro de estado indefinido . Execute os seguintes comandos uma vez para corrigir o problema.
# 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 na esquerda -> login -> meus certificadosDeveloper ID Application na barra de pesquisa superiorDeveloper ID Application , para a organização, crie um daqui: Certificados de desenvolvedor da AppleDeveloper ID Application na barra de pesquisa superiorDeveloper 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 , observe issobase64 -i CERTIFICATE_PRIVATE_KEY.p12 -o CERTIFICATE_PRIVATE_KEY.txtCERTIFICATE_PRIVATE_KEY.txtCSC_LINKCSC_KEY_PASSWORD é a senha da etapa acimaCODEMAGIC_AUTH_TOKEN_ID : <CodeMagic API Token>CODEMAGIC_INTEL_X64_WORKFLOW_ID_PROD : <Prod codeMagic workflow id>codemagic.yaml (principalmente macos-intel-x64-build-prod )CODEMAGIC_INTEL_X64_WORKFLOW_ID_DEV : <Dev codeMagic workflow id>codemagic.yaml (principalmente 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 publishConfigure a assinatura de código para criar, embalagem (localmente) e publique o aplicativo.
Notarização de aplicativos para macOS (pule esta seção para compilações não macos)
APPLEID e APPLE_APP_SPECIFIC_PASSWORD no arquivo .envsecurity add-generic-password -a " <apple-developer-account-username> " -w < app-specific-password > -s " APPLE_APP_SPECIFIC_PASSWORD "Sentinela
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 loginInstruções de embalagem : 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-BOILERPLACE/REACT-BOILERPLATO DE REACT#118
REACT-REACT-BOILERPLACE/REACT-BOILERPLATELO DE REACT#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 lançará um erro de rebunda npmnode-mac-permissions do package.jsondefault.plugins no arquivo webpack/config.base.jsnew webpack.IgnorePlugin({ resourceRegExp: /^(node-mac-permissions)$/u }),NODE_MAC_PERMISSIONS_MIN_OS define a versão mínima do sistema operacional necessária para mostrar o pop -up de permissão de acesso ao uso do MacOShttps://stackoverflow.com/questions/58358449/notarizing-electron-apps-tows-you-must-first-sign-the-relevante-contratos
https://stackoverflow.com/questions/58358449/notarizing-electron-apps-tows-you-must-first-sign-the-relevante-contratos
Um agradecimento especial à Codemagic e Kevin Suhajda por patrocinarem suas VMs CI/CD, tornando o aplicativo libera mais simplificado e muito mais fácil agora. ? Confira a seção de produtos para mais.
Shoutout especial para @codyjung por adicionar o suporte de dispositivos Fujifilm e Garmin.
Agradecemos a Ayushi Bothra por contribuir com a documentação e as páginas.
O logotipo do aplicativo foi contribuído por Shubhendu Mitra. Certifique -se de verificar mais seus trabalhos em Behance.
Graças a Vladimir Menshakov pelo Android-File-Transfer-Linux (o kernel MTP Legacy)
Grite para @yennSarah, @h0tk3y, @riginoommen, @ajithkumarvm, @kiranshaji555, Dick Cowan, Kjell Dankert, Thorolf er weißhuhn e a todos os outros membros da comunidade que me ajudaram a testar a aplicação.
Este aplicativo foi construído em https://github.com/ganeshrvel/electron-react-dux-advanced-boilerplate, que é um garfo fortemente modificado de https://github.com/electron-react-boilerplate/electron-react-boilerplate.
Os ícones utilizados no aplicativo foram feitos por Flathoton, Good-Ware e Kiranshastry, que são licenciados no CC 3.0 por.
O ícone "nenhuma imagem encontrado" foi feito por Phonlaphat Thongsriphong.
Se você estiver interessado em corrigir problemas e contribuir diretamente para a base de código, consulte as diretrizes.
Ajude -me a manter o aplicativo livre e aberto para todos.
Por favor, não hesite em entrar em contato comigo em [email protected]
OpenMTP | A transferência de arquivos Android para MacOS é liberada pelo MIT License.
Copyright © 2018-presente Ganesh Rathinavel