Wie fügt man bei Android Studio .jar-Libraries zu einem Android-Java-Projekt hinzu?

Hallo zusammen

Leider nix geht mit meinem selbst gebastelten HTTP-Client, auf dem PC läuft er wunderbar, wobei er folgende Java-Klassen verwendet. Ich meine die sind absolut grundlegend und sollten auch auch auf Android verfügbar laufen. (?)

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.Writer;
import java.net.Socket;
import java.util.function.Consumer;

Nun, des Weiteren:

  • Die App kommt, natürlich wie bereits oben erwähnt, nicht vom App-Store… Sondern wird über Remote-Debugging direkt vom Android Studio aufs Gerät installiert.

  • Der Windows-Rechner wo ich die App entwickle (welche einen HTTP-Zugriff erfordert!) hat in der Firewall den Port 80 für den Apache (als Test-Service) freigegeben.

  • Ich bin mit dem Smartphone im gleichen WLAN, wo der Test-/Entwicklungs-Apache (wie oben beschrieben) ist, also auf 192.168.80.120. Wenn ich auf dem Smartphone den Browser starte, dann bekomme ich ja eine Antwort. Grundsätzlich besteht also kein Problem dass

a.) der Port 80 auf dem Win-Rechner nicht in der Firewall eingetragen ist.

ODER

b.) Ich mit dem Smartphone gar im falschen Subnetz bin

  • Einträge in der Art in die Datei "AndroidManifest.xml" habe ich ebenfalls gemacht, allerdings werde ich nicht danach gefragt ob ich der App nun Zugriff aufs Internet (android.permission.INTERNET) oder sonst was (android.permission.ACCESS_NETWORK_STATE, ???) oder auf’s lokale WLAN-Subnetz (android.permission.ACCESS_WIFI_STATE) gewähren will:
<!-- J.M., 2020-05-26 { -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- } J.M., 2020-05-25 -->

…und in der App hab ich natürlich 192.168.80.120 hard-codiert eingetragen, ich habe also nicht vergessen das anzupassen!! :wink: In der JUnit-Test-App in Eclipse wo ich die HTTP-Client-Library entwickelt habe, stand vorher localhost drin… daran liegt es also auch nicht.

Im Prinzip ganz einfacher, trivialer Mist, welcher auf Anhieb funktionieren müsste. Tut er aber nicht. Und ich sehe momentan keinen einzigen logischen Grund warum er das nicht tut!!

Vielleicht weiss hier gerade jemand was zum Thema?

Sonst kann ich auch nen neuen Thread eröffnen zu dieser äusserst leidigen Problematik…

Vielen Dank.

-> Muss in einem eigenen Thread gestartet werden, was nicht offensichtlich und selbsterklärend logisch ist: https://stackoverflow.com/questions/30383775/android-socket-connection-permission-denied

Werde mich bei Android wohl an einiges gewöhnen müssen, soviel steht wohl sicher mal fest…

:wink: