Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir Windows sanal makinesinden Mac üzerinde çalışan Android Öykünücüsü'ne bağlanmak için aşağıdaki adımları kullanın:
Not
Google Play Store'a dahil olmayan bir Android Öykünücüsü kullanmanızı öneririz.
Mac'te öykünücüyü başlatın.
Mac'te
adbsunucuyu sonlandırma:adb kill-serverÖykünücünün geri döngü ağ arabirimindeki 2 TCP bağlantı noktasını dinlediğini unutmayın:
lsof -iTCP -sTCP:LISTEN -P | grep 'emulator\|qemu' emulator6 94105 macuser 20u IPv4 0xa8dacfb1d4a1b51f 0t0 TCP localhost:5555 (LISTEN) emulator6 94105 macuser 21u IPv4 0xa8dacfb1d845a51f 0t0 TCP localhost:5554 (LISTEN)Tek numaralı bağlantı noktası, öğesine
adbbağlanmak için kullanılan bağlantı noktasıdır. Ayrıca https://developer.android.com/tools/devices/emulator.html#emulatornetworkingbkz. .1. Seçenek: 5555 numaralı bağlantı noktasından (veya istediğiniz başka bir bağlantı noktasından) dışarıdan alınan gelen TCP paketlerini geri döngü arabirimindeki tek numaralı bağlantı noktasına (bu örnekte 127.0.0.1 5555) iletmek ve giden paketleri geri iletmek için kullanın
nc:cd /tmp mkfifo backpipe nc -kl 5555 0<backpipe | nc 127.0.0.1 5555 > backpipeKomutlar
ncTerminal penceresinde çalışmaya devam ettikçe paketler beklendiği gibi iletilir. Öykünücüyü kullanmayı bitirdikten sonra komutları kapatmaknciçin Terminal penceresine Control-C yazabilirsiniz.(Seçenek 1 genellikle Seçenek 2'den daha kolaydır, özellikle Sistem Tercihleri > Güvenlik ve Gizlilik > Güvenlik Duvarı açık.)
2. Seçenek: Paylaşılan Ağ arabirimindeki bağlantı noktasından (veya istediğiniz başka bir bağlantı noktasından
5555) TCP paketlerini geri döngü arabirimindeki tek numaralı bağlantı noktasına yeniden yönlendirmek için kullanınpfctl(127.0.0.1:5555bu örnekte):sed '/rdr-anchor/a rdr pass on vmnet8 inet proto tcp from any to any port 5555 -> 127.0.0.1 port 5555' /etc/pf.conf | sudo pfctl -ef -Bu komut, sistem hizmetini kullanarak bağlantı noktası iletmeyi
pf packet filterayarlar. Satır sonları önemlidir. Kopyalama yapıştırma sırasında bunları olduğu gibi tuttuğunuzdan emin olun. Paraleller kullanıyorsanız vmnet8'den arabirim adını da ayarlamanız gerekir.vmnet8, VMWare Fusion'da Paylaşılan Ağ modu için özel NAT cihazının adıdır. Paraleller'de uygun ağ arabirimi büyük olasılıkla vnic0'dir.Öykünücüye Windows makinesinden Bağlan:
C:\> adb connect ip-address-of-the-mac:5555"ip-address-of-the-mac" yerine Mac'in IP adresini yazın, örneğin tarafından listelenmiştir
ifconfig vmnet8 | grep 'inet '. Gerekirse, değerini 4. adımda beğendiğiniz diğer bağlantı noktasıyla değiştirin5555. (Not: Komut satırı erişimineadbulaşmanın bir yolu Visual Studio'da Araçlar > Android > Android Adb Komut İstemi'dir .)
Kullanarak alternatif teknik ssh
Mac bilgisayarda Uzaktan Oturum Açmayı etkinleştirdiyseniz, öykünücüye bağlanmak için bağlantı noktası iletmeyi kullanabilirsinizssh.
Windows'a bir SSH istemcisi yükleyin. Seçeneklerden biri, Windows için Git'i yüklemektir. Komut
sshdaha sonra Git Bash komut isteminde kullanılabilir.Öykünücüyü başlatmak, Mac'te sunucuyu sonlandırmak ve öykünücü
adbbağlantı noktalarını belirlemek için yukarıdaki 1-3 arası adımları izleyin.Windows üzerinde yerel bir bağlantı noktası (
localhost:15555bu örnekte) ile Mac'in geri döngü arabirimindeki tek numaralı öykünücü bağlantı noktası arasında iki yönlü bağlantı noktası iletmeyi ayarlamak için Windows üzerinde komutunu çalıştırınssh(127.0.0.1:5555bu örnekte):C:\> ssh -L localhost:15555:127.0.0.1:5555 mac-username@ip-address-of-the-macdeğerini, tarafından
whoamilistelenen Mac kullanıcı adınızla değiştirinmac-username. değerini Mac'in IP adresiyle değiştirinip-address-of-the-mac.Windows'da yerel bağlantı noktasını kullanarak öykünücüye Bağlan:
C:\> adb connect localhost:15555(Not: Komut satırı erişimine
adbulaşmanın kolay yollarından biri Visual Studio'daki Araçlar > Android > Android Adb Komut İstemi'dir.)
Küçük bir uyarı: Yerel bağlantı noktası için bağlantı noktası 5555 kullanırsanız öykünücünün adb Windows üzerinde yerel olarak çalıştığını düşünür. Bu, Visual Studio'da herhangi bir sorun oluşturmaz, ancak Mac için Visual Studio başlatmadan hemen sonra uygulamanın çıkmasına neden olur.
Alternatif teknik kullanımı adb -H henüz desteklenmiyor
Teoride, başka bir yaklaşım da uzak makinede çalışan bir adb sunucuya bağlanmak için 'nin yerleşik özelliğini kullanmaktır adb(örneğinhttps://stackoverflow.com/a/18551325).
Ancak Xamarin.Android IDE uzantıları şu anda bu seçeneği yapılandırmak için bir yol sağlamaz.
İletişim bilgileri
Bu belgede Mart 2016 itibarıyla geçerli davranış ele alınmaktadır. Bu belgede açıklanan teknik, Xamarin için kararlı test paketinin bir parçası olmadığından gelecekte bozulabilir.
Tekniğin artık çalışmadığını fark ederseniz veya belgede başka hatalar olduğunu fark ederseniz, aşağıdaki forum yazışmasında tartışmaya eklemekten çekinmeyin: http://forums.xamarin.com/discussion/33702/android-emulator-from-host-device-inside-windows-vm. Teşekkür ederiz!