Android Studio 3.2 Portable
===========================
Datum: 08.10.2018
Autor: Adrian Koch
Einsatzzweck: Netzwerke an Schulen

Installation
------------
1. Archiv auf einem Masterrechner (z. B. Lehrerplatz) entpacken (Ordner: C:\Work\Android-Develop)
2. Verzeichnis Work freigeben (hier: \\admin-pc-w10\Work\)
3. Programmsymbole in das Desktopprofil der Lehrer und Schüler kopieren.
   Wichtig: Beim Symbol "Reparatur" noch den verwendeten Masterrechner eintragen
4. Intel(R) Hardware Accelerated Execution Manager (HAXM) per Softwareverteilung den Clients zuweisen
   MSI muss aus der EXE per 7zip extrahiert werden.
   Pfad: Android-Develop\sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe
5. Als Lehrer oder Schüler an einem Client anmelden und das Symbol Reparatur anklicken.
   Dadurch wird vom Masterrechner Android-Studio auf den betreffenden Client kopiert.
   Alternativ wäre auch eine Verteilung per Startskript möglich (siehe Script CopyShare2Local.cmd)

Bedeutung der Programmsymbole:
------------------------------
"Android Studio starten" => Setzt die Voreinstellungen und startet Android Studio
"Clean & Convert Projects" => verkleinert und konvertiert die Projektdateien. Wenn der Projektordner gewählt wird, dann werden alle Projekte verkleinert (lässt sich an vielen Geräten nur mit dem Internet Explorer öffnen)
"Projektordner öffnen" => bei mir liegen die Projektdateinen aus Geschwindigkeitsgründen lokal auf dem PC (SSD) im Profil.
                          Zum Unterrichtsende müssen dann die Schüler auf dieses Symbol klicken und dann die Projektdateien in das Homelaufwerk kopieren.
"Reparatur" => ermöglicht die Installation oder Reparatur von Android Studio per robocopy-Script
"Wireless-ADB" => kabellose ADB-Verbindung zum einem Android-Gerät. (lässt sich an vielen Geräten nur mit dem Internet Explorer öffnen)
                  Somit kann statt des virtuellen auch ein reales Android-Gerät verwendet werden.
                  Ermöglicht auch die Installation von APK-Programmdateien (geht auch mit dem Amazon FireTV)

Hinweise:
- als SDK Plattform verwende ich ausschließlich Android 8.0 (Oreo, API 26)
  Weitere SDK Plattformen sind nicht notwendig, da auch ältere Projekte mit z. B. Android 4.4 aktualisiert
  werden können (beachte meine Hinweise mit "Ältere Projekte verwenden")
- Mein Paket ist für den Offline-Mode ohne Internet gedacht (Offline-gradle).
  Dieser kann bei Bedarf wieder auf Online geschaltet werden:
  File | Settings... | Build | Gradle und dort Häkchen bei "Offline work" entfernen
- Mögliche Aktualisierung der Umgebung (z. B. neueres Android Studio oder SDK):
  Aktualisierung nur am Masterrechner vornehmen und dann durch Klick auf "Reparatur" am betreffenden Client synchronisieren.


Projekt verkleinern
===================
Die Projektordner haben ca. 2000 Dateien und sind ca. 80 MB groß!!!!
Diese können mit dem Tool "Clean & Convert Projects" auf wenige Bytes verkleinert werden.

Ältere Projekte verwenden
=========================
Ältere Projekte müssen in die verwendete API- und gradle-Version umgewandet werden.
Dies kann mit dem Tool "Clean & Convert Projects" durchgeführt werden.

=================================================================================
Hinweise nur für mich, bzw. meine Notizen für die Paketerstellung
=================================================================================
1. Android Studio als ZIP-Archiv herunterladen und in C:\Work\Android-Develop\android-studio entpacken.
2. Android Studio starten und SDK mit den Defaulteinstellungen in C:\Work\Android-Develop\sdk installieren lassen.
   Hinweis:
   Es wird immer die akuellste Android API heruntergeladen, die eventuell noch unvollständig bzw. noch nicht richtig funktioniert.
   Eventuell diese abwählen und dann die vorhergehende API wählen.
3. Android starten und wenn am Zielrechner noch die Profileinstellunge fehlen, dann kommt der "Welcome"-Assistent oder
   der Hinweis "SDK nicht gefunden". Hier auf "cancel" klicken und dann die Option
   "Do not re-run the setup wizzard" wählen. Das "sdk" wird automatisch gefunden, wenn es einen
   Ordner darüber vorhanden ist. Dies wird durch den Profilimport vor dem Programmstart vermieden.
   Die Einstellungen finden sich hier:

   _profile\.AndroidStudiox.x\config\options

   jdk.table.xml -> habe ich auf den notwendigen Teil mit der SDK gekürzt (ohne Abschnitte mit Java)
                    und mit relativen Pfaden versehen.
   androidStudioFirstRun.xml -> verhindert den Aufruf des Assistenten
   ide.general.xml -> verhindert das Anzeigen von Tipps beim Programmstart
   updates.xml -> Verhindert die Anzeige, dass Updates vorhanden sind
   recentProjects.xml -> hier kann der Pfad zu den Projekten eingetragen werden (eingestellt auf <lokaler Profilpfad>\AndroidStudioProjects)
                   (momentan umbenannt somit deaktiviert)
   gradle.settings.xml -> legt das gradle-Verzeichnis statt in Profilpfad>\.gradle im Verzeichnis C:\work\Android-Develop\_profile\.gradle ab.
                          regelt auch das online bzw. offline-gradle (Eingestellt: online)

Offline-Mode bzw. offline-gradle (ohne Internet)
================================================
1. C:\work\Android-Develop\_profile\.gradle löschen.
2. Neues Projekt in Android-Studio anlegen.
3. Notwendige Dateien für gradle werden aus dem Internet heruntergeladen und in C:\work\Android-Develop\_profile\.gradle abgelegt.
4. Android-Studio starten
5. Settings | Build, Execution, Deployment | Build Tools | Gradle und dann die Option "Offline Work" aktivieren.
6. <lokaler Profilpfad>\.AndroidStudiox.x\config\options\gradle.settings.xml nach _profile\.AndroidStudiox.x\config\options\ kopieren.

Android Virtual Device AVD:
===========================
empfohlen x86 mit Google API, benötigt aber die Installation von HAXM (Intel's virtualization extension for Android Emulator)
ansonsten geht auch Google API ARM EABI v7a System Image (super langsam)





