【LDPlayer】คู่มือการใช้งานสำหรับนักพัฒนาคำสั่งบรรทัดคำสั่ง ldconsole (อัปเดต 26-08-31)
สารบัญ
- รับข้อมูลอีมูเลเตอร์
- สร้างอีมูเลเตอร์
- คัดลอกอีมูเลเตอร์
- ลบอีมูเลเตอร์
- เปลี่ยนชื่ออีมูเลเตอร์
- สำรองข้อมูลอีมูเลเตอร์
- นำเข้าอีมูเลเตอร์ (กู้คืนข้อมูลสำรอง)
-
- 1. เริ่มอีมูเลเตอร์ (launch)
- 2. ปิดอีมูเลเตอร์ (quit)
- 3. รีสตาร์ทอีมูเลเตอร์ (reboot)
- 4. การควบคุมหน้าต่าง
- 5. จำกัด CPU (downcpu)
- 6. การควบคุมแอป
- 7. การทำงานของอุปกรณ์ (action)
- 8. สแกน QR (scan)
- 9. ปรับขนาดหน้าต่าง (zoomIn / zoomOut)
- 10. การโอนไฟล์ (push / pull)
- 11. สำรอง/กู้คืนข้อมูลแอป (backupapp / restoreapp)
- 12. สคริปต์มาโคร (operate*)
- คำสั่ง ADB และการเชื่อมต่อ
ข้อตกลงเบื้องต้น
- **เครื่องมือที่ใช้**: ldconsole.exe เช่น `E:\LDPlayer\LDPlayer14\ldconsole.exe`
- **อีมูเลเตอร์**: LDPlayer
- **ไวยากรณ์ทั่วไป**: ldconsole <command> [parameter]
- **การระบุอินสแตนซ์**: ทุกคำสั่งสามารถเลือกใช้ **--index** <ดัชนี> หรือ **--name** <ชื่อ> อย่างใดอย่างหนึ่ง (คำสั่งแบบ global บางรายการ เช่น **globalsetting** ไม่จำเป็นต้องระบุ)
- **ข้อควรระวังเกี่ยวกับพาธ**: ldconsole เป็นโปรแกรม Windows แบบ native ดังนั้นพาธของพารามิเตอร์ เช่น **--file** / **--local** ต้องใช้ **backslash ของ Windows** (เช่น `C:\Users\...`) หากใช้ slash อาจถูกตีความผิด
- **สูตรพอร์ตเมื่อมีหลายอินสแตนซ์**: พอร์ต ADB = 5554 + index × 2 (index 0 → 5554)
- **เวอร์ชันอ้างอิง**: รองรับ LDPlayer 14 และ LDPlayer 9 หากพบปัญหาระหว่างใช้งาน สามารถลองอัปเกรดเป็นเวอร์ชันล่าสุด
LDPlayer 9 เวอร์ชันล่าสุด — [คลิกเพื่อดาวน์โหลด]
LDPlayer 14 เวอร์ชันล่าสุด — [คลิกเพื่อดาวน์โหลด]
รับข้อมูลอีมูเลเตอร์
ใช้ตรวจสอบรายการอีมูเลเตอร์ สถานะการทำงาน และพารามิเตอร์โดยละเอียด LDPlayer มีคำสั่งสำหรับแสดงรายการในหลายระดับ
|
คำสั่ง |
คำอธิบาย |
ข้อมูลที่ส่งกลับ |
|
list |
แสดงชื่ออีมูเลเตอร์ทั้งหมด |
หนึ่งอินสแตนซ์ต่อหนึ่งบรรทัด |
|
list2 |
แสดงรายละเอียดของทุกอินสแตนซ์ |
ดัชนี, ชื่อ, handle ระดับบนสุด, handle ที่ผูก, สถานะการทำงาน (0/1), PID ของโปรเซส, VBox PID, ความกว้าง, ความสูง, DPI |
|
list3 --index <idx> |
แสดงข้อมูลแบบย่อของอินสแตนซ์เดียว |
ดัชนี, ชื่อ, สถานะ, ความกว้าง, ความสูง, DPI |
|
runninglist |
แสดงเฉพาะอินสแตนซ์ที่กำลังทำงาน |
รายการอินสแตนซ์ที่กำลังทำงาน |
|
isrunning --index <idx> |
ตรวจสอบว่าอินสแตนซ์กำลังทำงานหรือไม่ |
สถานะการทำงาน |
⚠️ **ข้อควรระวัง**: หาก `list3` ไม่มี --index ที่ถูกต้อง (เช่นพิมพ์ `--index0` ติดกันโดยไม่ตั้งใจ) ระบบจะย้อนกลับไปแสดงรายการ sentinel `99999,电脑桌面,...` ซึ่งหมายถึงเดสก์ท็อปของคอมพิวเตอร์จริง ไม่ใช่อินสแตนซ์จริง หากต้องการตรวจสอบทุกอินสแตนซ์ ให้ใช้ `list` หรือ `list2`
**ตัวอย่าง**
ldconsole.exe list
ldconsole.exe list2
ldconsole.exe list3 --index 0
ldconsole.exe runninglist
ldconsole.exe isrunning --index 6
💡 **เคล็ดลับ**: สามารถใช้คำสั่งระบบ `adb devices` เพื่อตรวจสอบสถานะการเชื่อมต่อ ADB (LDPlayer จะลงทะเบียนโดยอัตโนมัติตามค่าเริ่มต้น ดูรายละเอียดในหัวข้อ 10)
สร้างอีมูเลเตอร์
สร้างอินสแตนซ์อีมูเลเตอร์ใหม่ โดยระบบจะจัดสรรดัชนีให้อัตโนมัติ
**การใช้งาน**
ldconsole.exe add [--name <ชื่อ>]
|
พารามิเตอร์ |
คำอธิบาย |
|
--name <ชื่อ> |
ไม่บังคับ ระบุชื่ออินสแตนซ์ใหม่ หากละเว้น ระบบจะตั้งชื่อโดยอัตโนมัติ |
**ตัวอย่าง**
ldconsole.exe add
ldconsole.exe add --name เครื่องทดสอบA
คัดลอกอีมูเลเตอร์
โคลนอินสแตนซ์ที่มีอยู่เพื่อสร้างอินสแตนซ์ใหม่ (หลายอินสแตนซ์)
**การใช้งาน**
ldconsole.exe copy [--name <ชื่อใหม่>] --from <ชื่อต้นทาง | ดัชนีต้นทาง>
|
พารามิเตอร์ |
คำอธิบาย |
|
--name <ชื่อใหม่> |
ชื่ออินสแตนซ์ใหม่ |
|
--from <ชื่อหรือดัชนี> |
อินสแตนซ์ต้นทางที่ต้องการคัดลอก |
**ตัวอย่าง**
ldconsole.exe copy --name อินสแตนซ์ใหม่ --from 0
ldconsole.exe copy --name อินสแตนซ์ใหม่ --from LDPlayer
ลบอีมูเลเตอร์
ลบอินสแตนซ์อีมูเลเตอร์ที่ระบุ
ldconsole.exe remove --name <ชื่อ>
ldconsole.exe remove --index <ดัชนี>
**ตัวอย่าง**
ldconsole.exe remove --index 2
ldconsole.exe remove --name เครื่องทดสอบA
⚠️ **ไม่สามารถย้อนกลับได้**: การลบจะล้างข้อมูลและการตั้งค่าทั้งหมดของอินสแตนซ์ โปรดยืนยันว่าได้สำรองข้อมูลแล้วก่อนดำเนินการ
เปลี่ยนชื่ออีมูเลเตอร์
แก้ไขชื่อที่แสดงของอีมูเลเตอร์
ldconsole.exe rename [--name <ชื่อ> | --index <ดัชนี>] --title <ชื่อใหม่>
|
พารามิเตอร์ |
คำอธิบาย |
|
--title <ชื่อใหม่> |
ชื่อที่แสดงใหม่ |
**ตัวอย่าง**
ldconsole.exe rename --index 0 --title เครื่องหลักของฉัน
ldconsole.exe rename --name LDPlayer --title เครื่องหลักของฉัน
สำรองข้อมูลอีมูเลเตอร์
สำรองข้อมูลทั้งอินสแตนซ์ที่ระบุเป็นไฟล์ image เพื่อความสะดวกในการย้ายหรือจัดเก็บ
ldconsole.exe backup [--name <ชื่อ> | --index <ดัชนี>] --file <พาธไฟล์สำรอง>
|
พารามิเตอร์ |
คำอธิบาย |
|
--file <พาธ> |
พาธไฟล์สำรองผลลัพธ์ นามสกุลต้องเป็น .ldbk มิฉะนั้นจะเกิดข้อผิดพลาด |
**ตัวอย่าง**
ldconsole.exe backup --index 0 --file "D:\backup\LDPlayer.ldbk"
⚠️ **ข้อควรระวัง**: backup จะสำรองเป็น image ของทั้งเครื่อง (รวมระบบและข้อมูล) การสำรองอินสแตนซ์ขนาดใหญ่อาจใช้เวลานาน
นำเข้าอีมูเลเตอร์ (กู้คืนข้อมูลสำรอง)
กู้คืนไฟล์สำรอง (.ldbk) ที่สร้างด้วย backup ก่อนหน้านี้ไปยังอินสแตนซ์ที่ระบุ
ldconsole.exe restore [--name <ชื่อ> | --index <ดัชนี>] --file <พาธไฟล์สำรอง>
|
พารามิเตอร์ |
คำอธิบาย |
|
--file <พาธ> |
พาธไฟล์สำรอง ต้องมีนามสกุล .ldbk |
**ตัวอย่าง**
ldconsole.exe restore --index 0 --file "D:\backup\LDPlayer.ldbk"
ควบคุมอีมูเลเตอร์
ควบคุมวงจรการทำงาน หน้าต่าง แอป อุปกรณ์ และสคริปต์ของอีมูเลเตอร์แบบครบวงจร
1. เริ่มอีมูเลเตอร์ (launch)
ldconsole.exe launch [--name <ชื่อ> | --index <ดัชนี>]
ldconsole.exe launch --index 0
2. ปิดอีมูเลเตอร์ (quit)
ldconsole.exe quit [--name <ชื่อ> | --index <ดัชนี>]
ldconsole.exe quitall # ปิดอินสแตนซ์ทั้งหมด
3. รีสตาร์ทอีมูเลเตอร์ (reboot)
ldconsole.exe reboot [--name <ชื่อ> | --index <ดัชนี>]
4. การควบคุมหน้าต่าง
|
คำสั่ง |
คำอธิบาย |
|
locate --name/--index --LLI <ลองจิจูด,ละติจูด> |
ตั้งค่าตำแหน่ง GPS ของอีมูเลเตอร์ (เช่น --LLI 116.39,39.91) |
|
sortWnd |
จัดเรียงหน้าต่างอีมูเลเตอร์ทั้งหมดโดยอัตโนมัติ (แบบเรียงต่อกัน) |
ldconsole.exe locate --index 0 --LL 116.39,39.91
ldconsole.exe sortWnd
5. จำกัด CPU (downcpu)
💡 **คำอธิบาย**: ฟังก์ชันนี้ยังไม่สามารถใช้งานได้ ต้องรอการอัปเดตในภายหลัง
6. การควบคุมแอป
|
คำสั่ง |
พารามิเตอร์ |
คำอธิบาย |
|
installapp |
--filename <พาธ apk> หรือ --packagename <ชื่อแพ็กเกจ> |
ติดตั้งแอป |
|
uninstallapp |
--packagename <ชื่อแพ็กเกจ> |
ถอนการติดตั้งแอป |
|
runapp |
--packagename <ชื่อแพ็กเกจ> |
เปิดแอป |
|
killapp |
--packagename <ชื่อแพ็กเกจ> |
ปิดแอป |
|
launchex |
--packagename <ชื่อแพ็กเกจ> |
เริ่มอีมูเลเตอร์และเปิดไปยังแอปที่ระบุโดยตรง |
ldconsole.exe installapp --index 0 --filename "D:\apps\game.apk"
ldconsole.exe uninstallapp --index 0 --packagename com.miHoYo.Yuanshen
ldconsole.exe runapp --index 0 --packagename com.miHoYo.Yuanshen
ldconsole.exe killapp --index 0 --packagename com.miHoYo.Yuanshen
ldconsole.exe launchex --index 0 --packagename com.miHoYo.Yuanshen
💡 **คำอธิบาย**: launchex = เริ่มอีมูเลเตอร์ + เปิด App ให้เสร็จในขั้นตอนเดียว
7. การทำงานของอุปกรณ์ (action)
ส่งเหตุการณ์ระดับระบบของอุปกรณ์เข้าไปยังอีมูเลเตอร์
|
--key |
--value |
ฟังก์ชัน |
|
call.keyboard |
back / home / menu / volumeup / volumedown |
ส่งปุ่มเสมือนของระบบ (ครั้งละหนึ่งปุ่ม ห้ามใช้ \| เชื่อมต่อ) |
|
call.input |
ข้อความ |
ส่งข้อความไปยังช่องป้อนข้อมูลที่กำลังโฟกัส |
|
rock |
(ไม่มี) |
เรียกใช้การเขย่า |
|
call.locate |
ลองจิจูด,ละติจูด |
ส่งข้อมูลตำแหน่งแบบเรียลไทม์ |
|
call.network |
offline / connect |
ตัดการเชื่อมต่อเครือข่าย / กู้คืนเครือข่าย |
|
call.gravity |
พารามิเตอร์เซ็นเซอร์ |
ส่งข้อมูลแรงโน้มถ่วง/ไจโรสโคป |
ldconsole.exe action --index 0 --key call.keyboard --value home
ldconsole.exe action --index 0 --key call.input --value "ข้อความค้นหา"
ldconsole.exe rock --index 0
ldconsole.exe locate --index 0 --LLI 113.264,23.129
ldconsole.exe action --index 0 --key call.network --value offline |connect
ldconsole.exe action --index 0 --key call.gravity --value x,y,z
💡 **คำอธิบาย**: การแมป menu ยังไม่สามารถใช้งานได้ ต้องรอการอัปเดตในภายหลัง
8. สแกน QR (scan)
💡 **คำอธิบาย**: ฟังก์ชันนี้ยังไม่สามารถใช้งานได้ ต้องรอการอัปเดตในภายหลัง
9. ปรับขนาดหน้าต่าง (zoomIn / zoomOut)
💡 **คำอธิบาย**: ฟังก์ชันนี้ยังไม่สามารถใช้งานได้ ต้องรอการอัปเดตในภายหลัง
10. การโอนไฟล์ (push / pull)
💡 **คำอธิบาย**: ฟังก์ชันนี้ยังไม่สามารถใช้งานได้ ต้องรอการอัปเดตในภายหลัง
11. สำรอง/กู้คืนข้อมูลแอป (backupapp / restoreapp)
💡 **คำอธิบาย**: ฟังก์ชันนี้ยังไม่สามารถใช้งานได้ ต้องรอการอัปเดตในภายหลัง
12. สคริปต์มาโคร (operate*)
💡 **คำอธิบาย**: ฟังก์ชันนี้ยังไม่สามารถใช้งานได้ ต้องรอการอัปเดตในภายหลัง
กำหนดค่าอีมูเลเตอร์
1. การกำหนดค่ารายอินสแตนซ์ (modify)
ldconsole.exe modify [--name|--index] [--resolution w,h,dpi] [--cpu 1|2|3|4]
[--memory 256|512|768|1024|1536|2048|4096|8192]
[--manufacturer <ผู้ผลิต>] [--model <รุ่น>] [--pnumber <หมายเลขโทรศัพท์>]
[--imei <auto|15 หลัก>] [--imsi <auto|15 หลัก>] [--simserial <auto|20 หลัก>]
[--androidid <auto|เลขฐานสิบหก 16 หลัก>] [--mac <auto|12 หลัก>]
[--autorotate <1|0>] [--lockwindow <1|0>] [--root <1|0>]
|
พารามิเตอร์ |
คำอธิบาย |
|
--resolution w,h,dpi |
ความละเอียดหน้าจอเสมือนและ DPI เช่น 1080,1920,480 (โปรดทราบว่าอาจสลับแนวตั้ง/แนวนอน) |
|
--cpu / --memory |
จำนวนคอร์ CPU / หน่วยความจำที่จัดสรร (MB จำกัดเฉพาะค่าที่ระบุ) |
|
--imei / --mac / --imsi / --androidid |
ข้อมูลระบุตัวตนอุปกรณ์; auto หมายถึงสุ่มสร้างใหม่ (นิยมใช้กับหลายอินสแตนซ์เพื่อป้องกันการแบน) |
|
--root <1 หรือ 0> |
เปิด / ปิด root |
|
--autorotate / --lockwindow |
หมุนอัตโนมัติ / ล็อกหน้าต่าง |
ldconsole.exe modify --index 0 --resolution 1080,1920,480 --cpu 4 --memory 4096 --imei auto --mac auto --root 0
⚠️ **ข้อควรระวัง**: root 0 จะปิด root; imei/mac auto จะสร้างข้อมูลระบุตัวตนอุปกรณ์ใหม่ หลังแก้ไขต้องรีสตาร์ทอินสแตนซ์ (quit + launch) จึงจะมีผล
การกำหนดค่าเริ่มต้นแบบ Global (globalsetting)
💡 **คำอธิบาย**: ฟังก์ชันนี้ยังไม่สามารถใช้งานได้ ต้องรอการอัปเดตในภายหลัง
คำสั่ง ADB และการเชื่อมต่อ
LDPlayer มีทั้งคำสั่งย่อย adb ในตัว และรองรับการใช้ adb ของระบบโดยตรง **LDPlayer จะลงทะเบียนการเชื่อมต่อ ADB โดยอัตโนมัติตามค่าเริ่มต้น**
เนื่องจาก LDPlayer ลงทะเบียนโดยอัตโนมัติ จึงสามารถใช้ adb ของระบบ/adb ที่มาพร้อมโปรแกรมเพื่อควบคุมอินสแตนซ์ได้โดยตรง โดยไม่ต้องผ่าน ldconsole:
พอร์ต = 5555 + index*2, index 6 → 5567
adb connect 127.0.0.1:5567