2016-06-02 5 views
0

Ich versuche, meine Android-Emulator (AVD) -Hosts-Datei zu bearbeiten, so dass es auf einen virtuellen Host zugreifen kann, den ich in meinem Mac OS Host-Rechner habe.Wie ReadOnly Status aus dem Android Emulator-Dateisystem zu entfernen?

Ich versuche, nach den Anweisungen auf diesem Link: http://borkweb.com/story/setting-etchosts-on-an-android-emulator-using-a-mac

aber ich halte den Empfang von Nachrichten „Nur Dateisystem lesen“. Ich habe es mit Android Device Monitor aus Android Studio, aber auch ReadOnly versucht.

Wie kann ich den ReadOnly-Status aus meinem Emulator-Dateisystem entfernen?

+0

Wenn Sie die Hosts-Datei nicht ändern wollten: https://developer.android.com/studio/run/emulator-commandline.html#emulatornetworking –

+0

Ich weiß über die 10.0.2.2 IP-Adresse, die ich verwendet habe es. Aber es wird auf meinen Benutzerordner zugreifen: ~/MyUserName/Sites/SomethingLikeThat. Ich habe MacOS Apache für den Zugriff auf einen anderen Ordner an einem anderen Speicherort konfiguriert, auf den aber über einen anderen Hostnamen (Myuser.myproject.local) zugegriffen wird, der in Apache-Konfigurationsdateien konfiguriert ist. Es funktioniert, aber da der Emulator nur über die IP darauf zugreifen kann, kann er nicht auf diesen neuen Ordner zugreifen. – Marlon

+0

Verwenden Sie einen lokalen DNS-Server und verwenden Sie die Befehlszeile DNS 'Beim Starten des Emulators über die Befehlszeile können Sie auch die Option -dns-server verwenden, um die Adressen der zu verwendenden DNS-Server manuell anzugeben, wobei durch Kommas getrennt ist Liste der Servernamen oder IP-Adressen. Diese Option ist möglicherweise nützlich, wenn Sie im emulierten Netzwerk Probleme mit der DNS-Auflösung haben (z. B. eine Fehlermeldung "Unbekannter Hostfehler", die bei der Verwendung des Webbrowsers angezeigt wird). " –

Antwort

0

Um die Hosts-Datei in dem Emulator zu aktualisieren, das folgende Skript im selben Verzeichnis wie die aktualisierte Datei „hosts“ speichern:

#!/bin/bash 
# 
# While the emulator is starting up, run this script to upload a custom hosts file 
# 
adb remount 
while [ $? -ne 0 ] 
do 
sleep 1 
echo "Retrying adb remount" 
adb remount 
done 
adb push hosts /etc/hosts 
if [ $? -ne 0 ] 
then 
echo "Failed to push hosts file to android device" 
else 
echo "Hosts file pushed successfully" 
fi 
############################################################################ 

Führen Sie dieses Skript, wenn der Emulator nach oben beginnt. Verification

: adb shell cat /etc/hosts

Bitte beachten Sie: Sie können es nur einmal laufen! Wenn Sie es mehr als einmal erneut ausführen, erhalten Sie einen schreibgeschützten Dateisystemfehler. Wenn Sie es erneut ausführen müssen: Starten Sie den Emulator zuvor neu.

Kudos zu meinem colleague.

Verwandte Themen