รับเส้นทางไปยังการ์ด SD บน Android การแบ่งพาร์ติชันการ์ดหน่วยความจำ microSD บน Android กำลังเตรียมสำหรับการแบ่งพาร์ติชัน

ความจำเป็นในการแบ่งการ์ดหน่วยความจำออกเป็นหลายส่วนมักเกิดขึ้นเมื่อโทรศัพท์/แท็บเล็ต Android มีหน่วยความจำภายในไม่เพียงพอที่จะติดตั้งแอปพลิเคชัน ด้วยการดำเนินการที่คล้ายกัน คุณสามารถเพิ่มพื้นที่ว่างในโทรศัพท์ของคุณได้ เช่น โดยไปที่พาร์ติชันที่สอง การ์ดไมโครเอสดี- ก่อนหน้านี้ เราได้บอกคุณไปแล้วว่าคุณสามารถสร้าง/รวมพาร์ติชันบนการ์ดหน่วยความจำโดยใช้ และ ได้อย่างไร

ไม่สามารถค้นหาการกู้คืนสำหรับโทรศัพท์/แท็บเล็ตเฉพาะที่รองรับการแบ่งพาร์ติชันการ์ดหน่วยความจำได้เสมอไป ดังนั้นในบทความนี้เราจะบอกวิธีการทำเช่นนี้โดยใช้แอปพลิเคชัน Android AParted

แอปพลิเคชั่นนี้มีคุณสมบัติดังต่อไปนี้ (จากเอกสารอย่างเป็นทางการ):

  • การแบ่งพาร์ติชันหน่วยความจำภายนอก/ภายในของอุปกรณ์ Android
  • การฟอร์แมตหน่วยความจำภายนอก/ภายในของอุปกรณ์ Android
  • การถอดพาร์ติชัน
  • การตรวจสอบและแก้ไขข้อผิดพลาดของระบบไฟล์
  • การปรับขนาดพาร์ติชั่น
  • การอัพเดตระบบไฟล์

ในบทความนี้เราจะใช้เฉพาะอันแรกเท่านั้น

การเตรียมการจับสลาก

ก่อนจะพังต้องแน่ใจว่าได้ทำ สำเนาสำรองข้อมูลสำคัญสำหรับคุณ (ภาพถ่าย วิดีโอ ฯลฯ) เนื่องจากไฟล์ทั้งหมดจะถูกลบออกจากการ์ดหน่วยความจำในระหว่างกระบวนการแบ่งพาร์ติชัน

ตรวจสอบให้แน่ใจว่ามีอยู่ในโทรศัพท์ของคุณ หากไม่มีการแยกส่วนจะไม่ทำงาน

ก่อนเริ่มแอปพลิเคชัน คุณต้องถอดการ์ดหน่วยความจำออกก่อน การตั้งค่า Android- ในการดำเนินการนี้ ไปที่ "การตั้งค่า > หน่วยความจำ" ในส่วนการ์ด microSD ที่เชื่อมต่ออยู่ ให้คลิก "ลบอย่างปลอดภัย" และยืนยันการดำเนินการ

เค้าโครงของส่วนต่างๆ ในอนาคต

เปิดแอปพลิเคชัน AParted บนแท็บ "สร้าง" คุณจะเห็นการแสดงกราฟิกสองภาพของการ์ดหน่วยความจำในรูปแบบของสี่เหลี่ยม: สี่เหลี่ยมด้านล่างพร้อมคำจารึกว่า "ตารางพาร์ติชัน msdos ของการ์ดหน่วยความจำ SD" จะแสดงเค้าโครงพาร์ติชันปัจจุบันและส่วนบน หนึ่ง "ตารางพาร์ติชัน msdos ใหม่" - เค้าโครงของพาร์ติชันในอนาคตบนการ์ด microSD

คลิกที่ปุ่ม "เพิ่ม" เพื่อเพิ่มส่วนแรกและใช้แถบเลื่อนเพื่อระบุขนาด ส่วนนี้จะใช้ได้กับโทรศัพท์/แท็บเล็ตเป็นหน่วยความจำภายนอกสำหรับภาพถ่าย เพลง ฯลฯ หากต้องการรายละเอียดที่แม่นยำยิ่งขึ้น ให้คลิกหมายเลขที่มี MB ในช่องที่ปรากฏขึ้น ให้ป้อนขนาดที่แน่นอนเป็นเมกะไบต์และยืนยันการเปลี่ยนแปลงโดยคลิก "ตกลง" ปล่อยให้ช่องทำเครื่องหมาย "รูปแบบ" เปิดใช้งานและระบบไฟล์ "fat32" ไม่เปลี่ยนแปลง

คลิกที่ปุ่ม "เพิ่ม" อีกครั้งเพื่อเพิ่มพาร์ติชันที่สองบนการ์ด microSD ซึ่งจะทำหน้าที่เป็นส่วนขยายในอนาคต หน่วยความจำระบบอุปกรณ์แอนดรอยด์ เลือกพื้นที่ที่เหลือด้วยแถบเลื่อน ปล่อยให้ช่องทำเครื่องหมาย "รูปแบบ" เปิดใช้งาน คลิกที่คำจารึก "fat32" และเลือกระบบไฟล์ระบบใดระบบหนึ่งต่อไปนี้: "ext2", "ext3" หรือ "ext4"

และนี่คือจุดเริ่มต้นของความสนุก ขอแนะนำให้เลือกตัวเลือก "ext4" แต่มีสาเหตุหลายประการที่ทำให้คุณไม่สามารถสร้างพาร์ติชันในระบบไฟล์นี้ได้: เคอร์เนล/เฟิร์มแวร์ ระบบแอนดรอย, ประเภท/ผู้ผลิต (คุณภาพ) ของการ์ดหน่วยความจำ ฯลฯ

ดังนั้นให้ทดลองลองสร้างพาร์ติชันด้วย "ext4" ก่อน จากนั้นจึง "ext3" และ "ext2" ท้ายที่สุดแล้ว แอป Link2SD รองรับระบบไฟล์ข้างต้นทั้งหมด

หลังจากดำเนินการข้างต้นแล้ว สี่เหลี่ยมที่มีข้อความว่า “ตารางพาร์ติชัน msdos ใหม่” ควรแสดงเค้าโครงของพาร์ติชันในอนาคตของการ์ดหน่วยความจำของคุณ

ดำเนินการเดิมพัน

หากต้องการใช้เค้าโครงพาร์ติชันใหม่กับการ์ดหน่วยความจำให้คลิกที่ปุ่ม "ใช้" แอป AParted จะเตือนคุณว่าข้อมูลทั้งหมดเปิดอยู่ สื่อที่ถอดออกได้จะถูกลบออก

ถัดไป กระบวนการแบ่งพาร์ติชันและฟอร์แมตพาร์ติชันการ์ดหน่วยความจำจะปรากฏขึ้น เมื่อเสร็จสิ้นกราฟด้านล่าง “ตารางพาร์ติชัน msdos การ์ดหน่วยความจำ SD” จะแสดงผลลัพธ์ของการแบ่งพาร์ติชันสื่อ ไปที่ "การตั้งค่า > ที่เก็บข้อมูล" ของโทรศัพท์/แท็บเล็ตของคุณอีกครั้ง และในส่วนหน่วยความจำภายนอก คลิกที่ "เชื่อมต่อการ์ด SD" หลังจากเชื่อมต่อและวิเคราะห์การ์ด microSD โดยระบบ Android คุณจะเห็นว่าหน่วยความจำลดลงตามขนาดที่คุณตั้งไว้

หากสถานะโทรศัพท์แสดงข้อความว่าการ์ด SD เสียหาย ให้รีบูตระบบ Android หลังจากรีบูตการ์ดหน่วยความจำควรเชื่อมต่อโดยอัตโนมัติ

การตั้งค่า Link2SD

ติดตั้งและรัน โปรแกรมควรตรวจจับการมีอยู่ของพาร์ติชันที่สองในการ์ดหน่วยความจำโดยอัตโนมัติและแจ้งให้คุณสร้างสคริปต์เมานท์ เลือกในรายการระบบไฟล์ของพาร์ติชันที่สองที่คุณระบุเมื่อแบ่งพาร์ติชันการ์ดหน่วยความจำในแอปพลิเคชัน AParted ยืนยันคำขอและหลังจากเสร็จสิ้นการดำเนินการให้คลิกที่ปุ่ม "อุปกรณ์รีบูต"

หลังจากรีบูตระบบ Android คุณสามารถถ่ายโอนแอปพลิเคชันจากหน่วยความจำอุปกรณ์ไปยังพาร์ติชันที่สองของการ์ดหน่วยความจำภายนอกได้

อุปกรณ์ Android บางรุ่นมีช่องใส่การ์ดหน่วยความจำ (โดยปกติจะเป็นรูปแบบ microSD) หากอุปกรณ์ของคุณรองรับการ์ด SD คุณสามารถ:

  • เพิ่มความจุหน่วยความจำ
  • ใช้การ์ดสำหรับฟังก์ชั่นและแอพพลิเคชั่นบางอย่าง

หากต้องการตรวจสอบว่าอุปกรณ์ของคุณมีช่องเสียบการ์ด SD หรือไม่ โปรดไปที่เว็บไซต์ของผู้ผลิต

บันทึก.ขั้นตอนเหล่านี้บางส่วนสามารถทำได้บนอุปกรณ์ที่ใช้ Android 6.0 ขึ้นไปเท่านั้น

วิธีการติดตั้งการ์ด SD

ขั้นตอนที่ 1: ใส่การ์ด SD
  1. ตรวจสอบว่าช่องใส่การ์ด SD อยู่ที่ใด
  2. ปิดโทรศัพท์ของคุณ
  3. ถอดถาดการ์ด SD ออกหรือถอดออก ปกหลังอุปกรณ์ (ขึ้นอยู่กับรุ่น) หากจำเป็น ให้ยกแถบที่ยึดการ์ดขึ้น
  4. วางการ์ด SD ในช่อง หากคุณยกแถบยึดขึ้น ให้ลดระดับลง
  5. ติดตั้งถาดการ์ด SD หรือฝาหลังของอุปกรณ์อีกครั้ง
ขั้นตอนที่ 2: เปิดการ์ด SD
  1. รอให้การแจ้งเตือนการ์ด SD ปรากฏขึ้น
  2. คลิก ปรับแต่ง.
  3. เลือกประเภทการจัดเก็บที่ต้องการ
    • ที่เก็บข้อมูลที่ถอดออกได้:
      คุณสามารถถ่ายโอนการ์ดไปยังอุปกรณ์อื่นพร้อมกับไฟล์ทั้งหมดของคุณ (เช่น ภาพถ่ายและเพลง) ไม่สามารถย้ายแอปพลิเคชันไปยังไดรฟ์แบบถอดได้
    • หน่วยความจำภายใน:
      การ์ดสามารถจัดเก็บแอปและข้อมูลเฉพาะสำหรับอุปกรณ์นั้นเท่านั้น หากคุณย้ายไปยังอุปกรณ์อื่น ข้อมูลทั้งหมดในอุปกรณ์นั้นจะถูกลบ
  4. ปฏิบัติตามคำแนะนำบนหน้าจอเพื่อตั้งค่าการ์ด SD
  5. เมื่อเสร็จแล้วให้คลิก พร้อม.

วิธีใช้การ์ด SD

วิธีย้ายแอพไปยังการ์ด SD

หากคุณเชื่อมต่อการ์ดเป็นที่จัดเก็บข้อมูลภายใน คุณสามารถถ่ายโอนแอปพลิเคชันไปยังการ์ดได้

บันทึก.แอปพลิเคชันบางรายการไม่สามารถถ่ายโอนไปยังการ์ด SD ได้

วิธีย้ายไฟล์ไปยังการ์ด SD

หากคุณได้ติดตั้งการ์ด SD เป็นอุปกรณ์จัดเก็บข้อมูลแบบถอดได้ คุณสามารถถ่ายโอนไฟล์ต่างๆ ไปยังการ์ดนั้นได้ เช่น เพลงและภาพถ่าย หลังจากนั้นก็สามารถลบออกจากหน่วยความจำภายในของอุปกรณ์ได้

ขั้นตอนที่ 1: คัดลอกไฟล์ไปยังการ์ด SD

ขั้นตอนที่ 2: ลบไฟล์ออกจากที่จัดเก็บข้อมูลภายในของคุณ

คุณสามารถดูเนื้อหาในการ์ด SD และดูจำนวนเนื้อที่ที่เหลืออยู่

เมื่อใช้การ์ด SD เป็นที่เก็บข้อมูลภายใน

เมื่อใช้การ์ด SD เป็นอุปกรณ์เก็บข้อมูลแบบถอดได้

  1. ปัดลงจากด้านบนของหน้าจอเพื่อเปิดแผงการแจ้งเตือน
  2. ใต้การแจ้งเตือนการ์ด SD ให้แตะ เปิด.

เครื่องมือนี้ช่วยให้คุณสร้างและจัดการพาร์ติชันบนการ์ด SD/ไดรฟ์ USB ของโทรศัพท์หรือแท็บเล็ตของคุณได้ คุณสามารถเพิ่มมากขึ้น แรมไปยังอุปกรณ์โดยสร้างพาร์ติชั่นสลับ คุณยังสามารถซ่อมแซมความเสียหายได้ ระบบไฟล์การ์ด SD รองรับเฉพาะประเภทพาร์ติชัน "หลัก"
ฟังก์ชั่น:

  • การสร้างพาร์ติชัน
  • การลบพาร์ติชัน
  • การกู้คืนระบบไฟล์ที่เสียหาย

ระบบไฟล์ที่รองรับ:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (เริ่มจากเวอร์ชัน MoalBoal)

ความต้องการ:

  • โทรศัพท์รูท;
  • ความพร้อมใช้งานของ Busybox;
  • การติดตั้งใน หน่วยความจำภายใน;
  • ก่อนที่จะเริ่มทำงานกับแอปพลิเคชัน ให้ถอดการ์ด SD ออก

คำแนะนำในการสร้างพาร์ติชั่นโดยใช้โปรแกรม

สิ่งแรกสุดคือการถ่ายโอนไฟล์ที่มีค่าทั้งหมดของคุณจากแฟลชไดรฟ์ไปยังพีซีของคุณนั่นคือหลังจากนั้นทุกอย่างจะถูกลบออกจากแฟลชไดรฟ์

- เปิดโปรแกรม

ในส่วนสร้าง ดับเบิลคลิกเครื่องหมายบวก “+”

ส่วนแรก "ส่วนที่ 1" เลือก Fat32 ส่วน "ส่วนที่ 2" ที่สองเลือก ext2/3/4 หรือสลับที่ต้องการ
- ใช้แถบเลื่อนเพื่อกำหนดขนาดของแต่ละส่วน ควรทำเครื่องหมายในช่อง "รูปแบบ"

ยืนยัน "ตกลง"

ทุกอย่างพร้อมแล้ว

วิธีคืนแฟลชไดรฟ์ให้เต็มประสิทธิภาพ
หากคุณตัดสินใจที่จะลบพาร์ติชันที่สองออกจากแฟลชไดรฟ์ คุณสามารถทำได้
- ไปที่การตั้งค่าโทรศัพท์ "หน่วยความจำ" และคลิก "ถอดการ์ด SD"
- เปิดโปรแกรม
- ในส่วนสร้าง คลิกเครื่องหมายบวก “+” หนึ่งครั้ง
- ใน "ส่วนที่ 1" ให้เลือก Fat32 ตั้งค่าแถบเลื่อนเป็นความจุเต็มของแฟลชไดรฟ์ ควรทำเครื่องหมายในช่อง "รูปแบบ"

ซอฟท์คีย์คลิก "ใช้การเปลี่ยนแปลง"

ในขณะที่พัฒนาแอปพลิเคชันการแข่งขัน ฉันประสบปัญหาการจัดเก็บฐานข้อมูล ปัญหาคือฉันจะตรวจสอบได้อย่างไร การ์ดภายนอกหน่วยความจำ. โดยทั่วไปการค้นหาทางอินเทอร์เน็ตไม่ได้ให้คำตอบที่แน่ชัด ดังนั้น เมื่อรวมผลลัพธ์ทั้งหมดที่ฉันพบ ฉันจึงรวบรวมชั้นเรียนของฉัน ถ้าใครสนใจดูใต้คัทได้เลย

เรามาเริ่มกันด้วยทฤษฎีกันก่อน

คำศัพท์เฉพาะทาง

Google บอกเราว่ามีแนวคิดดังต่อไปนี้:
  1. ภายใน ( ภายใน) หน่วยความจำเป็นส่วนหนึ่งของการ์ดหน่วยความจำที่ติดตั้งอยู่ในโทรศัพท์ เมื่อใช้ตามค่าเริ่มต้น โฟลเดอร์แอปพลิเคชันจะได้รับการปกป้องจากการเข้าถึงโดยแอปพลิเคชันอื่น (การใช้ที่จัดเก็บข้อมูลภายใน)
  2. ภายนอก ( ภายนอก) หน่วยความจำเป็นเรื่องธรรมดา " ที่จัดเก็บข้อมูลภายนอก", เช่น. ซึ่งอาจเป็นส่วนหนึ่งของหน่วยความจำภายในหรืออุปกรณ์ที่สามารถถอดออกได้ โดยปกตินี่จะเป็นส่วนหนึ่งของหน่วยความจำภายใน ครั้งสุดท้ายที่ฉันเห็นอุปกรณ์ถูกถอดออกคือบน Android 2.2 โดยที่หน่วยความจำภายในมีขนาดประมาณ 2GB และหน่วยความจำที่เชื่อมต่อกลายเป็นภายนอก (โดยใช้ที่จัดเก็บข้อมูลภายนอก)
  3. ลบแล้ว ( ถอดออกได้) หน่วยความจำ - ที่เก็บข้อมูลทั้งหมดที่สามารถถอดออกจากอุปกรณ์ได้โดยไม่ต้องมีการแทรกแซง "การผ่าตัด"

ถึง เวอร์ชันคิทแคท 4.4 API ไม่มีฟังก์ชันการรับเส้นทางไปยังหน่วยความจำภายนอก เริ่มตั้งแต่เวอร์ชันนี้ (API 19) ฟังก์ชันไฟล์นามธรรมสาธารณะจะปรากฏขึ้น getExternalFilesDirs(ประเภทสตริง) ซึ่งส่งคืนอาร์เรย์ของสตริงพร้อมเส้นทางไปยังหน่วยความจำภายในและภายนอก แต่แล้ว SD Card ของเราที่เสียบเข้าไปในช่องล่ะ? เราไม่สามารถหาเส้นทางไปหามันได้อีก

ผลการค้นหา

เพื่อตอบคำถามนี้ ฉันหันไปหา Google ผู้รอบรู้ แต่เขาไม่ได้ให้คำตอบที่ชัดเจนแก่ฉันเช่นกัน มีการพิจารณาตัวเลือกคำจำกัดความมากมาย ตั้งแต่การใช้ฟังก์ชันมาตรฐานที่นำไปสู่หน่วยความจำภายนอก แต่ไม่เกี่ยวข้องกับการถอดอุปกรณ์จัดเก็บข้อมูลออก ไปจนถึงการประมวลผลกฎการติดตั้งอุปกรณ์ (Android ทำงานบนเคอร์เนล Linux) ในกรณีหลังมีการใช้เส้นทาง "เดินสาย" ไปยังโฟลเดอร์ที่มีอุปกรณ์ที่ติดตั้งอยู่ (ไดเร็กทอรีนี้จะแตกต่างกันในเวอร์ชันต่างๆ) อย่าลืมว่ากฎการติดตั้งเปลี่ยนจากเวอร์ชันหนึ่งไปอีกเวอร์ชันหนึ่ง

ท้ายที่สุด ฉันตัดสินใจรวมความรู้ทั้งหมดที่ฉันได้รับและเขียนชั้นเรียนของตัวเอง ซึ่งสามารถคืนเส้นทางไปยังอุปกรณ์ภายนอกและอุปกรณ์ที่ถูกลบไปแล้วได้

คำอธิบายรหัส

สร้างชั้นเรียนแล้ว เมานต์ดีไวซ์ซึ่งมีเส้นทางไปยังอุปกรณ์ ประเภทอุปกรณ์ และแฮช
มีอุปกรณ์สองประเภท (ฉันไม่ได้สัมผัสหน่วยความจำภายในเนื่องจากสามารถเข้าถึงได้ผ่าน API ของระบบ)

สาธารณะ enum MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
และชั้นเรียนก็ได้ถูกสร้างขึ้น ตัวช่วยจัดเก็บข้อมูลซึ่งค้นหาการ์ดหน่วยความจำที่มีอยู่

คลาส StorageHelper ใช้วิธีการค้นหาสองวิธี - ผ่านสภาพแวดล้อมของระบบ ( สิ่งแวดล้อม) และการใช้ยูทิลิตี้ Linux เมานต์หรือค่อนข้างเป็นผลจากการดำเนินการ

วิธีที่หนึ่ง - สิ่งแวดล้อม
เมื่อทำงานกับสภาพแวดล้อม ฉันใช้ฟังก์ชัน getExternalStorageDirectory() มาตรฐานเพื่อรับข้อมูลเกี่ยวกับหน่วยความจำภายนอก หากต้องการรับข้อมูลเกี่ยวกับหน่วยความจำที่ถูกลบ ฉันใช้ตัวแปรสภาพแวดล้อม " SECONDARY_STORAGE".

หน่วยความจำภายนอกจะมีหนึ่งเสมอและมักจะมีหนึ่งเสมอ ดังนั้นเราจึงตรวจสอบเพื่อให้สามารถอ่านได้ คำนวณแฮชและจดจำมัน อาจมีหน่วยความจำจำนวนมากที่ต้องลบ ดังนั้นจึงจำเป็นต้องแยกสตริงผลลัพธ์ด้วยตัวคั่น และตรวจสอบแต่ละค่า

ฟังก์ชั่น fillDevicesEnvirement

เส้นทางสตริง = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(path, MountDeviceType.EXTERNAL_SD_CARD); ) // รับตัวกำจัด สตริง rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // SD-CARD รองทั้งหมดแบ่งออกเป็นอาร์เรย์สุดท้าย RawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator); for (String rawSecondaryStorage: rawSecondaryStorages) ( testAndAdd(rawSecondaryStor อายุ MountDeviceType.REMOVABLE_SD_CARD);


วิธีแก้ปัญหาถูกนำมาจาก stackoverflow คำตอบอยู่ที่ไหนสักแห่งข้างล่างนี้
วิธีที่สอง - เมานต์
เนื่องจากฉันไม่สามารถให้ระบบบอกเส้นทางไปยังหน่วยความจำที่ถูกลบเป็นเวลานานได้ ฉันจึงตัดสินใจมองไปในทิศทางของอุปกรณ์ที่ติดตั้ง ระบบมีไฟล์การกำหนดค่าที่อธิบายกฎการติดตั้ง อุปกรณ์ภายนอก- ทุกอย่างจะเรียบร้อยดี แต่สำหรับ Android เวอร์ชัน 4.* มนุษย์ทั่วไปไม่สามารถเข้าถึงไฟล์นี้ได้ ดังนั้นฉันจะไม่พิจารณาวิธีนี้

กลับไปที่ยูทิลิตี้การเมานต์ เมื่อรันโดยไม่มีพารามิเตอร์ คำสั่งจะส่งคืนรายการระบบไฟล์ที่เมาท์ อุปกรณ์ที่ถูกลบมักจะอยู่ในรูปแบบระบบไฟล์ FAT ดังนั้นเราจะเน้นบรรทัดที่มีลักษณะเฉพาะ " อ้วน" หน่วยความจำภายนอกจะมีลักษณะเป็นพารามิเตอร์ " ฟิวส์".

หมายเหตุ: เมื่อใช้วิธีนี้ ประเภทของอุปกรณ์ที่ติดตั้งไม่ได้ถูกกำหนดอย่างถูกต้องเสมอไป (ส่วนใหญ่ฉันไม่ได้คำนึงถึงบางสิ่ง) สังเกตเห็นความแตกต่างที่แตกต่างกัน เวอร์ชัน Android- ดังนั้นวิธีนี้จึงสามารถใช้เป็นวิธีเพิ่มเติมได้

ฟังก์ชัน fillDevicesProcess

พยายาม ( รันไทม์รันไทม์= Runtime.getRuntime();

proc = runtime.exec("เมานต์");ลอง ( is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ((line = br.readLine()) != null) ( if (line.contains("secure) ")) ดำเนินการต่อ; if (line.contains("asec")) ดำเนินการต่อ; if (line.contains("fat")) (// TF card String columns = line.split(" "); if (columns != null && columns.length > 1) ( testAndAdd(columns, MountDeviceType.REMOVABLE_SD_CARD); ) ) else if (line.contains("fuse")) (// ภายใน(ภายนอก) // storage String columns = line.split(" "); if (columns != null && columns.length > 1) ( // mount = mount.concat(columns + "\n"); testAndAdd(columns, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) ในที่สุด ( .. . ) ) จับ (ข้อยกเว้น e) ( ... )

ซอร์สโค้ด

ทั้งชั้นเรียนยังไม่มีที่ไหนเลย สักวันหนึ่งฉันจะลองโพสต์มันบน gitHub

ใครใช้วิธีอะไรอีกบ้าง? แท็ก: เพิ่มแท็ก Dolphin สามารถจัดเก็บข้อมูลลงในการ์ด SD เสมือนที่ตั้งชื่อได้

sd.ดิบ

- โดยค่าเริ่มต้น มันจะถูกสร้างขึ้นด้วยขนาด 128MB

การ์ด SD เสมือนมีการใช้งานที่สำคัญสำหรับแอปโฮมบรูว์บน Dolphin แทร็กแบบกำหนดเองของ Project M และ Mario Kart Wii เป็นสองตัวอย่างที่ดี เนื่องจากแอป homebrew บางแอปสามารถทำงานได้โดยใช้ไฟล์ที่จัดเก็บไว้ในการ์ด SD ของฮาร์ดแวร์จริงที่ได้รับการออกแบบเท่านั้น

สารบัญ

การสร้างการ์ด SD เสมือน

ขอแนะนำให้สร้างแอปที่มีขนาดอย่างน้อย 1GB สำหรับแอป Homebrew ขนาดใหญ่ เช่น Project M และไม่เกิน 2GB เพื่อความเข้ากันได้ที่ดีที่สุด เนื่องจากมีปัญหาความเข้ากันได้กับแอป Homebrew บางตัวที่พยายามทำงานภายใต้การ์ด SDHC บนฮาร์ดแวร์จริง .

บรรทัดคำสั่งและไฟล์ปฏิบัติการ WinImage นั้นไม่น่าเชื่อถือ เพราะที่น่าแปลกก็คือมันจะทำให้เกิดปัญหาการซิงค์และปัญหาอื่นๆ ที่ไม่อาจคาดการณ์ได้ ImDisk จะไม่เป็นไร:

  1. คู่มือฉบับย่อสำหรับการติดตั้งและแก้ไขการ์ด SD เสมือนด้วย แท็ก: เพิ่มแท็กไดรเวอร์ดิสก์เสมือน ImDisk คลิกขวาที่ไฟล์แล้วคลิก
  2. "เมานต์เป็นดิสก์เสมือน ImDisk" จากเมนูบริบทกล่องกาเครื่องหมาย สื่อที่ถอดออกได้จากนั้นจึงตี
    • "ตกลง"
  3. - อักษรระบุไดรฟ์ที่กำหนดไว้ล่วงหน้าและทุกสิ่งทุกอย่างจะทำงานได้ดี ตอนนี้การ์ด SD เสมือนจะปรากฏเป็น "Removable Disk" ซึ่งหน้าต่าง Explorer ดั้งเดิมสามารถอ่านและเขียนในนั้นได้เมื่อแก้ไขการ์ด SD เสมือนเสร็จแล้ว เพียงยกเลิกการต่อเชื่อมโดยคลิกขวาที่ "Removable Disk" จากนั้นคลิก
    • "ถอนติดตั้งดิสก์เสมือน ImDisk"

จากเมนูบริบท

ต้องถอดการ์ด SD เสมือนก่อนใช้กับ Dolphin การตั้งค่าปลาโลมา.

ไปที่ตัวเลือก > กำหนดค่า... > Wii > และเปิดใช้งาน

ใส่การ์ด SD

ไฟล์ภายนอกที่ใช้สำหรับแอพ Homebrew จะต้องเก็บไว้ภายใน แท็ก: เพิ่มแท็กและแอปโฮมบรูว์นั้นเอง ( boot.เอลฟ์หรือ boot.dol) ต้องมีอยู่ภายนอก Dolphin จึงจะโหลดได้ ตัวอย่างเช่น โปรเจ็กต์ M จะโหลดจากรูท SD \โครงการ\และ Dolphin จะต้องเปิดตัว Project M ผ่าน \apps\projectm\boot.elf, ไม่ในการ์ด SD เสมือน เพื่อความสะดวก การมีสำเนาเดียวกันขนานกันระหว่างด้านในและด้านนอกของการ์ด SD เสมือน

แม้ว่าจะเป็นไปได้ที่จะเริ่มแอป homebrew จากการ์ด SD เสมือนผ่านการใช้ประโยชน์จาก homebrew สำหรับ Wii

แอปตัวเปิดเกม Wii จะใช้งานได้ก็ต่อเมื่อเกม Wii ใดเกมหนึ่งได้รับการตั้งค่าเป็น ISO เริ่มต้น ภายในรายการเกม Dolphin ให้เปิดเมนูบริบท (คลิกขวา) ในเกม Wii ใดก็ได้แล้วคลิก ตั้งเป็น ISO เริ่มต้น- ทำสิ่งนี้ก่อนที่จะโหลดแอป homebrew ด้วย Dolphin

สำหรับเน็ตเพลย์

ในที่สุด Netplay จะยกเลิกการซิงค์หากมีสิ่งใดอ่านการ์ด SD เสมือนที่ไม่ได้โคลน โดยไม่คำนึงถึงขนาดที่สร้างขึ้น และโครงสร้างไฟล์/โฟลเดอร์ที่เหมือนกันภายในรูท เพื่อป้องกันสิ่งนั้น แท็ก: เพิ่มแท็กจะต้องคัดลอกจากคอมพิวเตอร์โฮสต์ไปยังคอมพิวเตอร์ผู้เข้าร่วมก่อนที่จะเริ่มเล่นเน็ต หากใช้การ์ด SD เสมือนแบบออฟไลน์หรือออนไลน์โดยปิดใช้งานบล็อกการเขียน การตรวจสอบ MD5 จะเปลี่ยน ("วันที่ที่เข้าถึง" ของไฟล์คือสิ่งที่แตกต่างในการ์ด SD เสมือน) แต่จะไม่ทำให้เกิดการซิงค์ การ์ด SD ต้อง มาจากที่อื่นหรือขึ้นอยู่กับไฟล์ที่ถูกแก้ไขภายในให้ "แตกต่าง"

สำหรับแอปตัวเปิดเกม Wii ผู้ใช้ทั้งสองด้านจะต้องมีสำเนาของแอป Homebrew และเกมที่เหมือนกันในรายการเกมก่อน จากนั้นจึงตั้งค่าเกมเป็น ISO เริ่มต้น ตามที่กล่าวไว้ในส่วนก่อนหน้า