Visual Studio emulator สำหรับ Android ไม่เริ่มทำงานใน VMWare Fusion บน macOS Sierra

ฉันได้ติดตั้ง VS2017 15.7 บน VMware Fusion (เวอร์ชันล่าสุด) ที่ใช้ Windows 10 (เวอร์ชันล่าสุด การอัปเดตล่าสุด) โดยเปิดใช้งาน Hyper-V เสมือน

ฉันสร้างโปรเจ็กต์ใหม่โดยใช้เทมเพลต Xamarin Forms

ฉันพยายามเรียกใช้บนโปรแกรมจำลอง Visual Studio Android ใด ๆ และดูเหมือนว่าจะไม่ทำงานเลย

โปรแกรมจำลองเริ่มทำงานและดูเหมือนว่าจะใช้งานได้

อย่างไรก็ตาม Visual Studio ค้างและดูเหมือนจะไม่เคยติดตั้งแอปลงในโปรแกรมจำลองเลย หลังจากนั้นไม่นาน ถ้าฉันคลิกที่โปรแกรมจำลองเพื่อดูแอปต่างๆ ฉันจะพบหน้าจอสีดำในโปรแกรมจำลอง

ฉันสามารถหยุดการสร้าง / การปรับใช้และ Visual Studio ตอบสนองได้ นี่คือโพสต์ที่คล้ายกันเกี่ยวกับสิ่งที่เกิดขึ้นกับฉัน… https://forums.xamarin.com/discussion/83756/visual-studio-android-emulator-black-screen-in-apps-periodically

ความละเอียดในโพสต์นั้นคือการลบบรรทัดในไฟล์ xdesku.xml https://creativewebspecialist.co.uk/2015/07/22/how-to-use-visual-studio-android-emulator-on-vmware-fusion/
(In Windows, you’ll need to edit the c:\program files (x86)\Microsoft XDE\10.0.10240.0\skus\android\xdesku.xml ไฟล์และลบบรรทัดต่อไปนี้ออกจากไฟล์: GuestDisplayProvider=”VsEmulator.OpenGLGuestDisplay”)

ฉันลองสิ่งนี้แล้ว แต่ก็ยังไม่มีโชค

ฉันเพิ่ม VM เป็น 10 กิ๊กและโปรเซสเซอร์ 4 ตัว แต่ก็ยังไม่มีโชค

ฉันได้ยกเลิกการเลือกการปรับใช้อย่างรวดเร็วใน Visual Studio IDE สำหรับคุณสมบัติ Android นอกจากนี้ ใน Hyper-v ฉันได้เลือกความเข้ากันได้ของโปรเซสเซอร์และย้ายไปยังคอมพิวเตอร์จริงรวมถึงโปรเซสเซอร์เสมือน 2 ตัวสำหรับอีมูเลเตอร์ สิ่งเหล่านี้มักเป็นสิ่งที่ส่งผลกระทบต่อตัวเลียนแบบ Android จากการทำงานอย่างถูกต้องบนโลหะ

ฉันนิ่งงัน. ฉันกำลังใช้งาน Visual Studio Emulator สำหรับ Android ฉันยังปิดการใช้งานกราฟิก 3D รวมถึงจอเรตินาความละเอียดสูงใน VM ฉันได้รับการตรวจสอบรันไทม์ที่ล้มเหลวในการปรับใช้กับโปรแกรมจำลอง

การทดสอบเดียวกันนี้ทำงานได้ดีบนเดสก์ท็อป Windows 10 ของฉัน


person Russ Fustino    schedule 17.05.2018    source แหล่งที่มา
comment
แปลก... มันจะทำงานเมื่อคุณปรับใช้บนอุปกรณ์จริงหรือไม่? สิ่งนี้เกิดขึ้นกับแอพใด ๆ แม้กระทั่ง Hello World ธรรมดา ๆ หรือเปล่า? หากเป็นเช่นนั้น โปรดระบุสิ่งนั้นในคำถามด้วย (ฉันก็สับสนเช่นกันว่าทำไมบางคนถึงลงคะแนนนี้ คำถามนี้แสดงให้เห็นถึงความพยายามในการค้นคว้าที่มากเกินพอ)   -  person S.L. Barth    schedule 17.05.2018
comment
ใช่ ฉันสามารถปรับใช้กับอุปกรณ์ทางกายภาพได้ และนี่คือแอปพลิเคชัน Hello World Xamarin Forms และจะอัปเดตคำถาม ฉันเพิ่งลองใช้ Parallels ด้วยและได้ผลลัพธ์เดียวกัน มีใครมี VS emulator สำหรับ Android ที่ใช้งานได้กับ VM บ้างไหม?   -  person Russ Fustino    schedule 17.05.2018
comment
คุณได้ลองใช้คำสั่ง adb เพื่อติดตั้งแอปแล้วหรือยัง?   -  person Robbit    schedule 18.05.2018
comment
@ JoeLv-MSFT ในขณะที่ VS สำหรับโปรแกรมจำลอง Android กำลังทำงานอยู่ และฉันค้นหาอุปกรณ์ที่เชื่อมต่อโดยใช้อุปกรณ์ adb ในพรอมต์คำสั่ง ADB ฉันจะได้รับรายการว่างกลับมาใน VM บนโลหะฉันได้รับที่อยู่ IP ของโปรแกรมจำลองกลับมา เบาะแสอื่นที่ฉันหวัง?   -  person Russ Fustino    schedule 18.05.2018


คำตอบ (1)


ดูเหมือนว่านี่เป็นโซลูชันที่ได้รับการสนับสนุนจาก Microsoft:

https://docs.microsoft.com/en-us/xamarin/android/troubleshooting/questions/connect-android-emulator-mac-windows

ที่จริงแล้วมันใช้โปรแกรมจำลองที่ทำงานบนฝั่ง Mac ที่เข้าถึงได้จาก VM บนฝั่งหน้าต่าง ซึ่งเป็นสภาพแวดล้อมที่ฉันต้องการ ฉันสามารถกำหนดจุดพักและดีบักเมื่อจำเป็นจาก Windows และมีสภาพแวดล้อมการพัฒนาที่เหมือนกันสำหรับ iOS, Android และ Windows นอกจากนี้ แอป Android จะปรับใช้กับอุปกรณ์ที่เชื่อมต่อด้วยหากฉันต้องการ รวมถึงลิงก์นี้เพื่อให้แอปทำงานบน Xamarin Android Player https://montemagno.com/debug-with-the-xamarin-android-player-from-visual/ ดูเหมือนว่าตอนนี้ฉันจะพร้อมแล้ว

สรุป: เริ่มโปรแกรมจำลองบน Mac (ฉันใช้ Mac VS เพื่อเริ่มสิ่งนี้)

บน mac จาก VS สำหรับ Mac ให้เปิดคำสั่ง Tools | พร้อมรับคำสั่ง SDK เรียกใช้คำสั่งเหล่านี้

adb ฆ่าเซิร์ฟเวอร์

lsof -iTCP -sTCP:ฟัง -P | grep 'โปรแกรมจำลอง \ | qemu'

(นี่จะได้รับที่อยู่ IP ของ Mac)

ซีดี /tmp

แบ็คไปป์ mkfifo

nc -kl 5555 0 แบ็คไปป์

(ตราบใดที่หน้าต่างนี้เปิดอยู่ คุณสามารถเชื่อมต่อได้ที่ฝั่ง VM)

จากนั้นบนเครื่อง VM จาก Visual Studio ให้เปิด Tools | แอนดรอยด์ | พรอมต์คำสั่ง ABD

adb เชื่อมต่อที่อยู่ IP ของ Mac:5555

จากนั้นคุณจะเห็นโปรแกรมจำลอง vm ที่ไม่รู้จักในรายการแบบเลื่อนลงใน VS เพื่อปรับใช้แอป มันจะปรากฏบนฝั่งแมค

person Russ Fustino    schedule 21.05.2018