在MACOS和Android或任何其他MTP設備之間傳輸文件一直是一場噩夢。有幾個文件傳輸MTP應用程序可以在線獲得,但其中大多數要么太貴了,要么帶有不良的UI/UX。來自Google的MACO的官方“ Android文件傳輸”應用程序帶有錯誤,無數限制,其中一些包括 - 無法傳輸大於4GB的文件,頻繁斷開連接,無法在Android/MTP設備上重命名文件夾或文件。在線可用的大多數其他應用程序都使用WiFi或ADB協議來傳輸文件,這是一個非常耗時的過程。
無數搜索以找到一個解決這些問題並沒有找到一個應用程序的應用程序,這使我感到不安。因此,我進行了飛躍,決定為我們創建一個應用程序,可以幫助我們從MACOS到Android/MTP設備進行平滑且無憂的文件傳輸過程。為了回饋社區的目的,我們都可以在這一生中免費使用此應用程序。
OpenMTP 3.0具有新的MTP內核,它是從頭開始寫的。它承諾在低和中範圍設備上的文件副本速度為30至40 MB/s,高端設備上的文件副本速度為100至120 MB/s。全新的強大MTP內核以APJ Abdul Kalam博士的名字命名
請檢查我為構建Kalam內核的GO軟件包:github.com/ganeshrvel/go-mtpx。隨時提高公關。
Kalam內核更新,其中包括新的設備支持,修復程序,改進穩定性。 Macos Big Sur(11.0)或更高版本將收到上述更新Kalam內核的支持。只有“傳統” MTP模式將繼續在這些過時的機器上工作。Intel和ARM64機器的更新 # newer versions:
brew install openmtp --cask
# older versions:
brew cask install openmtp

| 命令 | 鍵盤快捷鍵 |
|---|---|
| 刪除 | Backpace |
| 新文件夾 | 命令(⌘) + n |
| 複製 | 命令(⌘) + c |
| 複製到隊列 | 命令(⌘) + shift + c |
| 粘貼 | 命令(⌘) + v |
| 重新整理 | 命令(⌘) + r |
| 文件夾向上 | 命令(⌘) + b |
| 選擇全部 | 命令(⌘) + a |
| 重命名 | 命令(⌘) + D |
| 開關選項卡 | 命令(⌘) + 1 |
| 打開 | 進入 |
| 左導航 | 左邊 |
| 正確導航 | 正確的 |
| 導航 | 向上 |
| 導航 | 向下 |
| 選擇多個項目(在網格視圖中) | Shift +向左 |
| 向後選擇多個項目(在網格視圖中) | Shift +正確 |
| 選擇多個項目(在列表視圖中) | 移動+向上 |
| 向後選擇多個項目(在列表視圖中) | 移動+向下 |
| 選擇多個項目(使用鼠標) | 命令(⌘) +單擊或換檔+單擊 |
要求:node.js v16,git和Yarn package Manager
$ git clone https://github.com/ganeshrvel/openmtp.git
$ cd openmtp
# install yarn
npm install -g yarn
# install sentry cli
npm -g i @sentry/cli$ yarn新鮮的克隆可能會丟棄未定義的狀態錯誤。運行以下命令一次解決問題。
# 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菜單Developer ID ApplicationDeveloper ID Application的結果,則為組織創建一個:Apple Developer證書Developer ID ApplicationDeveloper 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 ,請注意base64 -i CERTIFICATE_PRIVATE_KEY.p12 -o CERTIFICATE_PRIVATE_KEY.txtCERTIFICATE_PRIVATE_KEY.txtCSC_LINK的值CSC_KEY_PASSWORD是上述步驟的密碼CODEMAGIC_AUTH_TOKEN_ID : <CodeMagic API Token>CODEMAGIC_INTEL_X64_WORKFLOW_ID_PROD : <Prod codeMagic workflow id>codemagic.yaml找到相關的工作流ID(主要是macos-intel-x64-build-prod )CODEMAGIC_INTEL_X64_WORKFLOW_ID_DEV : <Dev codeMagic workflow id>codemagic.yaml找到相關的工作流ID(主要是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 publish設置代碼簽名以構建,包裝(本地)並發布該應用程序。
MacOS的應用公證(跳過本節的非MACOS構建)
APPLEID和APPLE_APP_SPECIFIC_PASSWORD在.env文件中security add-generic-password -a " <apple-developer-account-username> " -w < app-specific-password > -s " APPLE_APP_SPECIFIC_PASSWORD "哨兵
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 login包裝說明:https://www.electron.build/code-signing
$ export GH_TOKEN= " <github token> " # For local platform
$ yarn package
# For multiple platforms
$ yarn package-all電子反應 - 機器人/電子反應 - 機器人#400
電子反應 - 機器人板/電子反應 - 機器人#118
電子反應 - 機器人板/電子反應 - 機器人#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將拋出NPM重建錯誤package.json中刪除node-mac-permissions依賴性webpack/config.base.js中添加ignoreplugin行中的default.pluginsnew webpack.IgnorePlugin({ resourceRegExp: /^(node-mac-permissions)$/u }),NODE_MAC_PERMISSIONS_MIN_OS常數定義顯示MACOS使用訪問權限彈出所需的最小OS版本https://stackoverflow.com/questions/58358449/notarizing-electron-apps-throws-throws-you-must-first-sign-the-relevant-contracts-on
https://stackoverflow.com/questions/58358449/notarizing-electron-apps-throws-throws-you-must-first-sign-the-relevant-contracts-on
特別感謝CodeMagic和Kevin Suhajda贊助其CI/CD VM,因此該應用程序現在更加精簡,更容易。 ?請檢查其產品部分以獲取更多信息。
向@CodyJung特別喊著添加了Fujifilm和Garmin設備的支持。
感謝Ayushi Bothra女士為文檔和頁面做出了貢獻。
App Logo由Shubhendu Mitra貢獻。確保在表現方面查看更多他的作品。
感謝Vladimir Menshakov的Android-File-Transfer-Linux(MTP Legacy內核)
向 @yennsarah, @h0tk3y,@riginoommen,@ajithkumarvm, @kiranshaji555,dick Cowan,Kjell Dankert,Thorolf ErWeißhuhn和所有幫助我測試該應用程序的所有其他社區成員。
該應用程序是基於https://github.com/ganeshrvel/electron-react-reakct-redux-advanced-boilerplate構建的,它是https://github.com/electron-react-boilerplate/electron-rectron-rectron-react-boilerplate。
該應用程序中使用的圖標是由Flaticon,Good-Ware和Kiranshastry製作的,該圖標已獲得CC 3.0的許可。
“未找到的圖像”圖標是由Phonlaphat Thongsriphong製作的。
如果您有興趣解決問題並直接為代碼庫做出貢獻,請參閱指南。
幫助我保持應用程序免費並為所有人開放。
請隨時通過[email protected]與我聯繫
OpenMtp | MACOS的Android文件傳輸是根據MIT許可發布的。
版權所有©2018-Present Ganesh Rathinavel