<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=.NET_MAUI%3A_Kein_Internet_im_Android-Emulator</id>
	<title>.NET MAUI: Kein Internet im Android-Emulator - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=.NET_MAUI%3A_Kein_Internet_im_Android-Emulator"/>
	<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=.NET_MAUI:_Kein_Internet_im_Android-Emulator&amp;action=history"/>
	<updated>2026-10-17T10:52:08Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in maxTechCorner</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://techcorner.max-it.de/index.php?title=.NET_MAUI:_Kein_Internet_im_Android-Emulator&amp;diff=4297&amp;oldid=prev</id>
		<title>imported&gt;TechCorner-Redaktion: Neufassung von &quot;Xamarin: Kein Internet auf Android-Emulator&quot;: 10.0.2.2, Cleartext, Proxy</title>
		<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=.NET_MAUI:_Kein_Internet_im_Android-Emulator&amp;diff=4297&amp;oldid=prev"/>
		<updated>2026-10-14T00:00:00Z</updated>

		<summary type="html">&lt;p&gt;Neufassung von &amp;quot;Xamarin: Kein Internet auf Android-Emulator&amp;quot;: 10.0.2.2, Cleartext, Proxy&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Steckbrief&lt;br /&gt;
| gilt_fuer   = .NET MAUI 10 bzw. .NET for Android; Android-Emulator (Android 9 bis 16)&lt;br /&gt;
| bereich     = Softwareentwicklung&lt;br /&gt;
| dauer       = 5–15 Minuten&lt;br /&gt;
| rechte      = Entwicklungsumgebung&lt;br /&gt;
| stand       = Oktober 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kein Internet im Android-Emulator&amp;#039;&amp;#039;&amp;#039; hat bei .NET-MAUI-Apps meist eine von vier Ursachen: Die App ruft eine unverschlüsselte &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt;-Adresse auf, verwendet &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; statt der Emulator-Adresse des Entwicklungsrechners, ein Firmen-Proxy fehlt im Emulator, oder der Emulator hat selbst keine Netzwerkverbindung. Diese Anleitung prüft alle vier der Reihe nach.&lt;br /&gt;
&lt;br /&gt;
[[Datei:NET-MAUI-Android-Emulator-Internet.png|thumb|center|750px|Kein Internet im Android-Emulator: Der Entwicklungs-PC ist unter 10.0.2.2 erreichbar, nicht unter localhost; dazu HTTPS bzw. Cleartext-Ausnahme und Internet-Berechtigung prüfen.]]&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
* &amp;lt;code&amp;gt;HttpClient&amp;lt;/code&amp;gt;-Aufrufe enden mit &amp;lt;code&amp;gt;HttpRequestException&amp;lt;/code&amp;gt;, „Connection refused“, „Cleartext HTTP traffic … not permitted“ oder einer Zeitüberschreitung.&lt;br /&gt;
* Der lokale Entwicklungs-Webservice ist im Browser des PCs erreichbar, aus der App im Emulator aber nicht.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
=== Schritt 1: Hat der Emulator überhaupt Internet? ===&lt;br /&gt;
Im Emulator den Chrome-Browser öffnen und eine Website aufrufen. Klappt das nicht:&lt;br /&gt;
* Emulator mit &amp;#039;&amp;#039;&amp;#039;Cold Boot&amp;#039;&amp;#039;&amp;#039; neu starten (Android-Geräte-Manager → &amp;#039;&amp;#039;Kaltstart&amp;#039;&amp;#039;).&lt;br /&gt;
* VPN-Clients und Endpoint-Firewalls auf dem PC testweise deaktivieren – sie blockieren häufig den virtuellen Netzwerkadapter.&lt;br /&gt;
* Bei Firmen-Proxy: Im Emulator über die drei Punkte &amp;#039;&amp;#039;(…) → Settings → Proxy&amp;#039;&amp;#039; den Proxy eintragen (&amp;#039;&amp;#039;Manual proxy configuration&amp;#039;&amp;#039; mit Host und Port).&lt;br /&gt;
&lt;br /&gt;
=== Schritt 2: localhost durch 10.0.2.2 ersetzen ===&lt;br /&gt;
Im Emulator zeigt &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; auf den Emulator selbst. Der Entwicklungsrechner ist unter &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;10.0.2.2&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; erreichbar:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
string baseUrl = DeviceInfo.Platform == DevicePlatform.Android&lt;br /&gt;
    ? &amp;quot;https://10.0.2.2:7001&amp;quot;&lt;br /&gt;
    : &amp;quot;https://localhost:7001&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Webservice muss dafür auf allen Adressen lauschen (z. B. &amp;lt;code&amp;gt;https://0.0.0.0:7001&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;*:7001&amp;lt;/code&amp;gt;), nicht nur auf &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Schritt 3: HTTPS verwenden oder HTTP gezielt erlauben ===&lt;br /&gt;
Seit Android 9 blockiert Android unverschlüsselten HTTP-Verkehr. Richtig ist HTTPS. Nur für die lokale Entwicklung kann HTTP zu bestimmten Adressen erlaubt werden – mit einer Netzwerk-Sicherheitskonfiguration in &amp;lt;code&amp;gt;Platforms/Android/Resources/xml/network_security_config.xml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;network-security-config&amp;gt;&lt;br /&gt;
  &amp;lt;domain-config cleartextTrafficPermitted=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;domain includeSubdomains=&amp;quot;true&amp;quot;&amp;gt;10.0.2.2&amp;lt;/domain&amp;gt;&lt;br /&gt;
  &amp;lt;/domain-config&amp;gt;&lt;br /&gt;
&amp;lt;/network-security-config&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
und dem Verweis im &amp;lt;code&amp;gt;application&amp;lt;/code&amp;gt;-Element der &amp;lt;code&amp;gt;Platforms/Android/AndroidManifest.xml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;application android:networkSecurityConfig=&amp;quot;@xml/network_security_config&amp;quot; ... /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Beim selbstsignierten ASP.NET-Core-Entwicklungszertifikat lehnt Android die Verbindung trotzdem ab. Für Tests entweder HTTP mit obiger Ausnahme nutzen oder einen &amp;lt;code&amp;gt;HttpClientHandler&amp;lt;/code&amp;gt; verwenden, der das Zertifikat &amp;#039;&amp;#039;&amp;#039;nur im Debug-Build&amp;#039;&amp;#039;&amp;#039; akzeptiert.&lt;br /&gt;
&lt;br /&gt;
=== Schritt 4: Internet-Berechtigung prüfen ===&lt;br /&gt;
Die .NET-MAUI-Vorlage trägt die Berechtigungen bereits ein. Wurde die &amp;lt;code&amp;gt;AndroidManifest.xml&amp;lt;/code&amp;gt; angepasst, prüfen, ob diese Zeilen noch vorhanden sind:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_NETWORK_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Echtes Gerät:&amp;#039;&amp;#039;&amp;#039; Ein per USB verbundenes Smartphone erreicht den PC nicht über &amp;lt;code&amp;gt;10.0.2.2&amp;lt;/code&amp;gt;, sondern über dessen LAN-IP-Adresse – oder per &amp;lt;code&amp;gt;adb reverse tcp:7001 tcp:7001&amp;lt;/code&amp;gt; unter &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Release-Builds:&amp;#039;&amp;#039;&amp;#039; Cleartext-Ausnahmen und Zertifikats-Workarounds dürfen nicht in die veröffentlichte App gelangen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Netzwerkstatus in der App:&amp;#039;&amp;#039;&amp;#039; Mit &amp;lt;code&amp;gt;Connectivity.Current.NetworkAccess&amp;lt;/code&amp;gt; prüfen, ob eine Verbindung besteht, und dem Benutzer eine verständliche Meldung anzeigen.&lt;br /&gt;
* Bei App-Entwicklung und der Anbindung an Ihre Backend-Systeme unterstützt Sie die [https://www.max-it.de/development/individuelle-softwareentwicklung/ individuelle Softwareentwicklung von m.a.x. it].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[.NET MAUI: Kein Internet im iOS-Simulator]]&lt;br /&gt;
* [[.NET MAUI: Entwicklungsumgebung einrichten]]&lt;br /&gt;
* [[Proxy]]&lt;br /&gt;
&lt;br /&gt;
== Links und Quellen ==&lt;br /&gt;
* [https://learn.microsoft.com/de-de/dotnet/maui/data-cloud/local-web-services Microsoft Learn: Verbindung mit lokalen Webdiensten aus Android-Emulatoren und iOS-Simulatoren]&lt;br /&gt;
* [https://www.max-it.de/development/individuelle-softwareentwicklung/ Individuelle Softwareentwicklung und App-Entwicklung von m.a.x. it]&lt;br /&gt;
&lt;br /&gt;
{{Uebermax}}&lt;br /&gt;
[[Kategorie:Softwareentwicklung]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;TechCorner-Redaktion</name></author>
	</entry>
</feed>