การถ่ายโอนไฟล์ระหว่าง MacOS และ Android หรืออุปกรณ์ MTP อื่น ๆ เป็นฝันร้ายเสมอ มีแอพถ่ายโอนไฟล์ MTP สองสามไฟล์ที่มีให้ออนไลน์ แต่ส่วนใหญ่ของแอพนี้มีราคาแพงเกินไปหรือมาพร้อมกับ UI/UX ที่ไม่ดี แอป "การถ่ายโอนไฟล์ Android" อย่างเป็นทางการสำหรับ MacOS จาก Google มาพร้อมกับข้อบกพร่องข้อ จำกัด นับไม่ถ้วนซึ่งบางส่วนรวมถึง - ไม่สามารถถ่ายโอนไฟล์ที่มีขนาดใหญ่กว่า 4GB การตัดการเชื่อมต่อบ่อยครั้งไม่สามารถเปลี่ยนชื่อโฟลเดอร์หรือไฟล์บนอุปกรณ์ Android/MTP ได้ แอพอื่น ๆ ส่วนใหญ่ที่ใช้งานออนไลน์ใช้ทั้ง WiFi หรือ ADB Protocol เพื่อถ่ายโอนไฟล์ซึ่งเป็นกระบวนการใช้เวลานานมาก
การค้นหานับไม่ถ้วนเพื่อค้นหาแอพเพื่อแก้ปัญหาเหล่านี้และไม่พบสิ่งใดที่ทำให้ฉันกระสับกระส่าย ดังนั้นฉันจึงก้าวกระโดดและตัดสินใจที่จะสร้างแอพสำหรับเราที่สามารถช่วยให้เรามีกระบวนการถ่ายโอนไฟล์ที่ราบรื่นและไม่ยุ่งยากจาก MacOS ไปยังอุปกรณ์ Android/MTP สร้างขึ้นโดยมีวัตถุประสงค์เพื่อตอบแทนชุมชนเราทุกคนสามารถใช้แอพนี้ได้ฟรีในช่วงชีวิตนี้
OpenMTP 3.0 มีเคอร์เนล MTP ใหม่และเขียนตั้งแต่รอยขีดข่วน มันสัญญาความเร็วในการคัดลอกไฟล์ 30 ถึง 40 MB/s บนอุปกรณ์ช่วงต่ำและกลางและ 100 ถึง 120 MB/s บนอุปกรณ์ปลายทางที่สูงขึ้น เคอร์เนล MTP ใหม่และทรงพลังทั้งหมดได้รับการตั้งชื่อตาม Dr. Apj Abdul Kalam
ทำเช็คเอาต์แพ็คเกจ Go ที่ฉันเขียนเพื่อสร้าง Kalam Kernel: github.com/ganeshrvel/go-mtpx อย่าลังเลที่จะเพิ่ม PRS
Kalam ซึ่งรวมถึงการรองรับอุปกรณ์ใหม่การแก้ไขการปรับปรุงความมั่นคง MacOS Big Sur (11.0) หรือสูงกว่าจะได้รับการอัปเดตดังกล่าวข้างต้นKalam Kernel บน MacOS 10.13 (OS X El High Sierra) และต่ำกว่า เฉพาะโหมด "Legacy" MTP เท่านั้นที่จะทำงานกับเครื่องจักรที่ล้าสมัยเหล่านี้ต่อไปIntel และ ARM64 Machines # newer versions:
brew install openmtp --cask
# older versions:
brew cask install openmtp

| สั่งการ | แป้นพิมพ์ลัด |
|---|---|
| ลบ | แบ็คสเปซ |
| โฟลเดอร์ใหม่ | คำสั่ง (⌘) + n |
| สำเนา | คำสั่ง (⌘) + c |
| คัดลอกไปยังคิว | คำสั่ง (⌘) + shift + c |
| แปะ | คำสั่ง (⌘) + V |
| รีเฟรช | คำสั่ง (⌘) + r |
| โฟลเดอร์ขึ้น | คำสั่ง (⌘) + b |
| เลือกทั้งหมด | คำสั่ง (⌘) + a |
| การเปลี่ยนชื่อ | คำสั่ง (⌘) + d |
| แท็บสวิตช์ | คำสั่ง (⌘) + 1 |
| เปิด | เข้า |
| นำทางซ้าย | ซ้าย |
| นำทางขวา | ขวา |
| นำทางขึ้น | ขึ้น |
| นำทางลง | ลง |
| เลือกหลายรายการไปข้างหน้า (ในมุมมองกริด) | เลื่อน + ซ้าย |
| เลือกหลายรายการย้อนหลัง (ในมุมมองกริด) | Shift + Right |
| เลือกหลายรายการไปข้างหน้า (ในรายการมุมมอง) | เปลี่ยน + ขึ้น |
| เลือกหลายรายการย้อนหลัง (ในรายการมุมมอง) | Shift + Down |
| เลือกหลายรายการ (พร้อมเมาส์) | คำสั่ง (⌘) + คลิก หรือ เปลี่ยน + คลิก |
ข้อกำหนด: node.js v16, Git และ Manager 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 Application ในแถบการค้นหาด้านบนDeveloper ID Application สำหรับองค์กรให้สร้างจากที่นี่: ใบรับรองนักพัฒนา AppleDeveloper ID Application ในแถบการค้นหาด้านบนDeveloper 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_LINKCSC_KEY_PASSWORD เป็นรหัสผ่านจากขั้นตอนข้างต้นCODEMAGIC_AUTH_TOKEN_ID : <CodeMagic API Token>CODEMAGIC_INTEL_X64_WORKFLOW_ID_PROD : <Prod codeMagic workflow id>codemagic.yaml (ส่วนใหญ่เป็น macos-intel-x64-build-prod )CODEMAGIC_INTEL_X64_WORKFLOW_ID_DEV : <Dev codeMagic workflow id>codemagic.yaml (ส่วนใหญ่เป็น 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ตั้ง ค่ารหัสการลงนาม เป็น Build, Package (ท้องถิ่น) และเผยแพร่แอพ
Notarization App สำหรับ MacOS (ข้ามส่วนนี้สำหรับการสร้างที่ไม่ใช่ MacOS)
APPLEID และ APPLE_APP_SPECIFIC_PASSWORD ในไฟล์ . ENVsecurity 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-rebuildnode-mac-permissions ออกจาก package.jsondefault.plugins ในไฟล์ webpack/config.base.jsnew webpack.IgnorePlugin({ resourceRegExp: /^(node-mac-permissions)$/u }),NODE_MAC_PERMISSIONS_MIN_OS จะกำหนดเวอร์ชันระบบปฏิบัติการขั้นต่ำที่จำเป็นในการแสดงการเข้าถึงการใช้งาน MACOShttps://stackoverflow.com/questions/58358449/notarizing-electron-apps-throws-you-must-first-sign-the-relament-contracts-on
https://stackoverflow.com/questions/58358449/notarizing-electron-apps-throws-you-must-first-sign-the-relament-contracts-on
ขอขอบคุณเป็นพิเศษสำหรับ Codemagic และ Kevin Suhajda สำหรับการสนับสนุน CI/CD VMS ของพวกเขาจึงทำให้แอปเผยแพร่ได้รับการปรับปรุงมากขึ้นและง่ายขึ้นมากในตอนนี้ - ทำการชำระเงินส่วนผลิตภัณฑ์ของพวกเขาสำหรับข้อมูลเพิ่มเติม
ตะโกนพิเศษไปยัง @codyjung เพื่อเพิ่มการสนับสนุนอุปกรณ์ Fujifilm และ Garmin
ขอบคุณ Ms Ayushi Bothra ที่มีส่วนร่วมในเอกสารและหน้า
โลโก้แอพได้รับการสนับสนุนจาก Shubhendu Mitra ตรวจสอบให้แน่ใจว่าได้ตรวจสอบผลงานของเขาเพิ่มเติมใน Behance
ขอบคุณ Vladimir Menshakov สำหรับ Android-File-Transfer-Linux (เคอร์เนลมรดก MTP)
ตะโกนไปที่ @yennsarah, @h0tk3y, @riginoommen, @ajithkumarvm, @kiranshaji555, ดิ๊กโคแวน, Kjell Dankert, Thorolf er Weißhuhnและสมาชิกชุมชนอื่น ๆ ทั้งหมดที่ช่วยฉันทดสอบแอปพลิเคชัน
แอพนี้ถูกสร้างขึ้นเมื่อ https://github.com/ganeshrvel/electron-react-redux-advanced-boilerplate ซึ่งเป็นส้อมที่ได้รับการดัดแปลงอย่างหนักของ https://github.com/electron-react-boilerplate/electron-rect-act-boilerplate
ไอคอนที่ใช้ในแอพนี้ทำโดย Flaticon, Good Ware และ Kiranshastry ซึ่งได้รับใบอนุญาตภายใต้ CC 3.0 โดย
ไอคอน "ไม่พบภาพ" ถูกสร้างขึ้นโดย Phonlaphat Thongsriphong
หากคุณสนใจที่จะแก้ไขปัญหาและมีส่วนร่วมโดยตรงไปยังฐานรหัสโปรดดูแนวทาง
ช่วยฉันให้แอพฟรีและเปิดให้ทุกคน
โปรดติดต่อฉันได้ที่ [email protected]
OpenMTP | การถ่ายโอนไฟล์ Android สำหรับ MacOS ถูกปล่อยออกมาภายใต้ใบอนุญาต MIT
ลิขสิทธิ์© 2018- ประธานพระพิฆเนศ Rathinavel