Nur eine kurze Zusammenfassung, wie ich den Bildschirm meines Android Smartphones gerade auf meinen PC geschickt habe. Live Screen Sharing eben, ziemlich easy:
Android -> PC
Installiert die Mirror Beta App auf eurem Smartphone und die AllCastReciever Extension in eurem Chrome auf dem PC. Letztere startet ihr dann über das Windows Statmenü, es ist keine typische Chrome Erweiterung.
Wenn nun beide Geräte im selben Netzwerk und gestartet sind, müssten sie sich sehen:
AllCast fähige Geräte
Aber…
Das Bild ist von der Qualität her okay, es läuft mit ca. 10fps, also leicht ruckelig. Ansonsten macht es aber einen guten Eindruck. Touch wird mit einem Punkt und einer kleinen von dem Punkt ausgehenden „Welle“ auf dem PC symbolisiert. Ich weiß nicht ob es möglich ist auf ein Gerät zu streamen, dass nicht im selben LAN/WLAN ist, praktisch via IP. Neben PCs funktioniert das auch auf Apple TV und Fire TV. Übertragung zum Chromebook funktioniert angeblich nicht. Und ich habe, weil es schnell gehen musste, mir noch keine alternativen Anbieter für Android->PC-Screensharing rausgesucht, vielleicht gibt es bessere Apps dafür. Die Bewertungen des AllCast Recievers sind auch mäßig, vermutlich gibt es für die PC-Seite auch bessere Empfänger. Kennt jemand gute Screensharing Lösungen?
Vor Kurzem ging mein Smartphone einfach nicht mehr an und es schien sich auch nicht mehr laden zu lassen. Angesteckt an Ladegeräte leuchtete keine rote Lade-LED. Das tolle HTC Unibody-Gerät kann man dann ja nicht einmal öffnen um den Akku zu tauschen oder die SD-Karte zu entnehmen. „Hättest du mal vorher regelmäßig Backups gemacht…“ dachte ich mir so.
9 kostenlose Tools zum Sichern von Android Daten
Vorbereitung
Für die meisten Schritte solltet ihr USB-Debugging aktivieren. Das geht unter „Einstellungen > Entwickleroptionen“. Falls die Einstellung „Entwickleroptionen“ nicht gelistet wird, müsst ihr diese zunächst freischalten. Navigiert dazu nach „Einstellungen > Über das Telefon“ und tippt sieben Mal auf den Eintrag „Build-Nummer“. Außerdem braucht ihr oftmals eine aktive USB Verbindung zum Smartphone und dafür die richtigen USB Treiber. Dieser ADB Installer ist vermutlich der einfachste und schnellste Weg diese zu installieren, 3x „y“ eingegeben und alles wird auf eurem System automatisch installiert. Ansonsten erhaltet ihr die Treiber vom Hersteller, durch die Hersteller-Software (siehe nächste Überschrift) oder über das Android Studio (nicht empfehlenswert, da sehr groß).
Herstellersoftware – Kies/HTC Sync Manager/…
Jeder größere Smartphonehersteller hat eine Software, mit der das Smartphone verbunden und fast immer auch gesichert werden kann. Bei Samsung wäre es „Kies“, bei HTC der „HTC Sync Manager“ usw. Die Software hat den Vorteil, dass sie gleichzeitig die aktuellsten USB Treiber für dieses Gerät mitbringen und vom Hersteller extra auf die Gerätereihe hin optimiert wurde. Somit ist ein Backup hier oftmals besonders einfach.
MobileGo – Mittlerweile eingeschränkt
Hinweis: Die Software wurde in der kostenlosen Version eingeschränkt, sodass z.B. kein Dateiaustausch mehr möglich ist. Die Software MobileGo von Wondershare ist vielseitig und bietet Sicherungen für fast alles, sehr übersichtlich und hübsch in einer Software verpackt. Außerdem bietet es viele Features, unter anderem 1-Click-Root, Vollbackup, Dateimanager, SMS-Viewer sowie verschiedenste Im- und Exports. Achja, Downloader für Google Music, MP3s und Youtubes gibt es auch noch.
AirDroid – Dateien und Fernsteuerung
AirDroid ermöglichst das Verwaltung via Webanwendung oder installiertem Programm. Dateien können übertragen, das Telefon ferngesteuert und viele Informationen ausgelesen werden. Ein ausführlicheren Blogeintrag über den Dienst habe ich hier geschrieben.
Super Backup – Alles
Die App Super Backup bietet fast alles, was man braucht. Apps (ohne App-Daten wenn nicht gerootet!), SMS, Kontakte, Anrufliste, Kalender, Lesezeichen. Das alles ohne Root in einer einfachen und übersichtlichen Oberfläche. Automatische Sicherungen nach Zeitplan sind möglich, lassen sich gleichzeitig automatisch zu Cloud Diensten hochladen (ggf. nur über Wifi und ggf. anschließend lokal löschen) und die Anzahl der Sicherungen lässt sich einschränken; TOP. Hinweis: Ohne Root werden von den Apps nur die APKs gesichert, nicht die Daten. Für App-Daten könnt ihr Helium (weiter unten) benutzen.
Helium – Apps & App-Daten
Helium, ehemals Carbon, ist eine Kombination aus Android App und PC Software zur Sicherung von Apps und App-Daten. Die Android App kann App-Daten mit und ohne der App selbst lokal sichern, auch die SMS, Anrufliste und das persönliche Wörterbuch können gesichert werden. Für die Einrichtung muss die Helium PC Software sowie die Android App installiert werden. Danach das Smartphone per USB mit dem PC verbinden, beide Programme starten und dann sollte die Verbindung hergestellt werden. Nun könnt ihr Sicherungen lokal vornehmen. Die Sicherungen landen in storage/[sdcard0]/carbon.
Ein besonderes Schmankerl dieser App ist die PC Sicherung über einen auf dem Handy simulierten Server. Dazu müssen das Smartphone und der PC im selben Netzwerk/[W]LAN sein, ihr braucht also kein USB mehr. Öffnet die App, geht in das Menü und aktiviert „PC Download“. Ihr bekommt dann die URL angezeigt, die ihr mit dem Browser eures PCs aufrufen müsst. Dort könnt ihr sehr bequem und einfach Apps und App-Daten sichern (und natürlich wiederherstellen) und bekommt diese dann direkt als .zip Download auf den PC geladen:
Alternative Apps
Die folgenden Apps haben nur begrenzte Sicherungsmöglichkeiten, sind umständlicher zu bedienen oder sind risikobehaftet. Als Alternativen funktionieren aber auch sie meistens.
MyPhoneExplorer
Das könnte der kleine Bruder von MobileGo sein. Kann auch das übliche, allerdings ist die Anwendung veraltet, sieht auch so aus, und die Sicherungsmöglichkeiten sind begrenzt. Eventuell braucht ihr, damit die Software funktioniert, auf eurem Smartphone die App dazu.
SMS Backup+ – SMS & Anrufliste
Diese App überträgt eure SMS und Anrufliste in euren GMail Account. Dazu wird für jede SMS eine E-Mail in einem bestimmten Label (GMail „Unterordner“) erstellt, sodass euer Postfach dadurch nicht verunreinigt wird. Dies kann manuell, per Zeitplan oder direkt nach dem Erhalt einer Nachricht geschehen. Somit habt ihr immer alle SMS direkt online verfügbar, könnt sie ausrucken oder weiterleiten.
Holo – Apps & Vollbackup
Holo Backup ist besonders schnell und einfach zu benutzen, da es weder eine Installation noch eine App auf dem Smartphone braucht. Es greift über Android Tools (ADB Backup) direkt auf das Handy zu und holt sich die Daten. Jedoch wird schon beim Start der Anwendung auf die Gefahren hingewiesen: Holo nutzt ADB Features, die nicht vollkommen ausgereift sein, wodurch leere Backups, fehlerhafte Backups oder teilweise gar keine Backups erstellt werden. Manche Modellreihen (HTC One, 2011er Sony, Motorola) sind besonders unzuverlässig mit diesem Tool, dazu mehr hier. Demnach sollte Holo nicht eure einzige Sicherungsquelle sein, sondern ausschließlich eine zusätzliche. Die Android Version des Geräts muss 4.0 oder höher sein.
Android ADB Backup – Apps & Vollbackup
Die Komponente, die Holo nutzt um Backups zu erstellen, könnt ihr auch ohne zusätzliche Tools selber benutzen. Auf dieser Seite erfahrt ihr, was ihr alles installieren müsst, damit das funktioniert. Anschließend kann über die Windows Konsole das Tool adb backup angesprochen werden:
Die Nutzung sollte jedoch nur mit Vorsicht über die Kommandozeile erfolgen. Oder mit einem weiteren Tool, dass ebenfalls diese Schnittstelle nutzt: Android Ultimate Backup Tool. Dieses erleichtert euch die Nutzung von ADB Backup durch eine Oberfläche. Avira meckerte bei dem Tool ziemlich viel rum und entdeckte die Virensignaturen „Android\GetRoot.A“ bzw. „TR/Lockspop.A“; die Nutzung erfolgt also auf eigenem Risiko und am einfachsten mit Ordner-Ausnahme.
Java 8 ist mittlerweile bei Update 25 angekommen und ein Upgrade von 7u67 auf 8u25 ist sicher eine gute Idee. Also wollte ich mein bestehendes Verteilungsscript für Java im Unternehmen auf die neue Version umstellen. Das war jedoch nicht so einfach und die Verteilung musste umgebaut werden. Demnach hier das Update der Verteilung.
exe Installer
Die .exe Installer, die auf der Java Homepage zur Verfügung stehen, funktionieren gut für die Verteilung:
Sollte eine Verteilung über MSI gewünscht werden, geht das natürlich auch. Dazu einfach den .exe Installer per Doppelklick starten und die MSI aus dem Ordner AppData\LocalLow\Sun\Java\[Version] ziehen. Das MSI Paket muss jedoch erst angepasst werden, es werden sonst verschiedene 16XX msiexec Fehlercodes zurückgeliefert. Hier sind zwei Seiten, mit denen ich gearbeitet habe: diese Seite und diese Seite. Da sollten keine Fragen offen bleiben.
Den fertigen Installer kann man jetzt mit folgender Zeile verscripten:
Die aktuellen Parameter für die 8er Version findet ihr hier.
Alte Versionen aufräumen
Neu in meinem Script ist die Deinstallation alter Versionen. Dies ist mit 3 Methoden machbar: über WMIC (Windows Management Instrumentation Commandline), einen generellen
msiexec /x{GUID}
Befehl oder mit der Installations-MSI.
WMIC:
Über den WMIC-Befehl
wmic product where "[filter product]" call uninstall" können Programme gezielt deinstalliert werden. Folgender Code deinstalliert Java-Produkte:
[crayon-5851b00cbfa96616214862 lang="shell" ]
wmic product where "name like 'Java %%'" call uninstall /nointeractive
wmic product where "name like 'Java%%'" call uninstall /nointeractive
wmic product where "name like 'Java(tm) %%'" call uninstall /nointeractive
wmic product where "name like 'J2SE Runtime Environment%%'" call uninstall /nointeractive
Mittlerweile setze ich ausschließlich auf die WMIC Variante, da diese zuverlässig und einfacher zu warten ist als die anderen Methoden.
Man kann aus der Registry auf jeden Fall die aktuellste Version auslesen, HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment. Problem: hier steht nur die aktuellste Version drin. Ich habe beispielsweise 7u71 und 8u25 installiert, da drin ist nur die 8er gelistet. Ist also schonmal riskant damit zu arbeiten. Alternativ könnte man im Windows Uninstall Key (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall) nach Java Versionsnummern suchen, hier wird es erklärt. Aber auch hier müsste man alle Versionsnummern durchprobieren und auf Funde reagieren. Es gibt bereits ein Script, das mit dieser Uninstall Key Methode sucht und deinstalliert. Ist zwar vbs, aber egal. Hier auf IT-Ninja gleich das erste. Außerdem gibt es auch weitere Java Uninstaller/Cleanup Tools wie z.B. JavaRA (mehr dazu). Die Möglichkeiten sind also vielseitig.
Noch ein paar grundlegende Hinweise zur Installation und Deinstallation von Java per MSI auf dieser aktuellen Hilfeseite oder aus der (veralteten) Java Hilfe.
Deployment Script
Die neue Variable
cleanup
ermöglicht das Überspringen der Deinstallation der alten Java-Versionen.
cleanup=1
räumt dagegen alle Versionen (auch die aktuell installierte) einmal auf und installiert frisch. Das Cleanup ist standardmäßig deaktiviert. Update: 16.08.2016: Version 8u101 getestet und läuft. Info: Das im Skript verwendete Programm VersionCompare ist eine Eigenprogrammierung und hier als Download verfügbar.
Code anzeigenDen Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.
@echo on && color 9f && setlocal
set wd=\\lea\Deployment\Software\Java
set tools=\\lea\Deployment\Sonstiges\tools
set cleanup=0
set versionEL=9
set javaEL32=9
set javaEL64=9
set javaregEL32=9
set javaregEL64=9
set retry=0
set instversion=0
set uninst=x
set pa=%processor_architecture%
REM:: ### HIER VERSION NACH UPDATE ANPASSEN ###
set main=8
set update=101
REM:: ############
set version=%main%u%update%
set alllog=%wd%\java-all.log
REM:: Clientfilter: nur die Computer aus der allowedPCs.txt dürfen installieren
REM::for /f %%f in (%wd%\allowedPCs.txt) do if "%computername%"=="%%f" goto check
REM::goto end
REM:: Clientfilter: die Computer aus der deniedPCs.txt dürfen nicht installieren
for /f %%f in (%wd%\deniedPCs.txt) do if "%computername%"=="%%f" goto end
:check
REM:: alte Kontrollen: Registry, Programmordner
REM:: 1) for /f "tokens=1,2,3 delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "Java7FamilyVersion"^|findstr "Java7FamilyVersion"') do set instversion=%%c
REM:: if not "%instversion%"=="1.%main%.0_%update%" goto cleanup
REM:: 2) if not exist "%programfiles%\Java\jre1.%main%.0_%update%" goto install
REM:: Aktuelle Kontrolle: Version aus java -version entnehmen und mit VersionCompare vergleichen
for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do set instversion=%%g
if "%instversion%" == "0" goto check2
if "%instversion%" == "" goto check2
set instversion=%instversion:~1,-1%
for /f "delims=._ tokens=1-4" %%v in ("%instversion%") do (
set instmain=%%w
set instupdate=%%y
)
goto compare
:check2
REM:: workaround if java -version check doesn't work
echo %date% %time:~0,8% - %computername% kann die Version nicht durch java -version bestimmen >> %alllog%
for /f "tokens=1-3" %%i in ('%tools%\sigcheck %ProgramData%\Oracle\Java\javapath\java.exe') do ( if "%%i %%j"=="File version:" set instversion=%%k )
if "%instversion%" == "0" set cleanup=1 & goto cleanup
if "%instversion%" == "" set cleanup=1 & goto cleanup
set instversion=%instversion: =%
set instversion=%instversion:~0,6%
for /f "delims=. tokens=1-4" %%v in ("%instversion%") do (
set instmain=%%v
set instupdate=%%x
)
goto compare
:compare
echo %date% %time:~0,8% - %computername% hat %instmain%.%instupdate% (%instversion%) installiert >> %alllog%
REM:: compare installed and desired versions now
%tools%\VersionCompare.exe "%instmain%.%instupdate%" "%main%.%update%"
set versionEL=%errorlevel%
if "%versionEL%"=="-1" goto cleanup
if "%versionEL%"=="0" echo %date% %time:~0,8% - %computername% hat bereits %instversion% installiert >> %alllog% & goto end
if "%versionEL%"=="1" echo %date% %time:~0,8% - %computername% hat bereits %instversion% (neuer) installiert >> %alllog% & goto end
goto end
:cleanup
if "%cleanup%"=="0" goto install
REM:: Deinstalliere 8er Versionen
taskkill /F /IM iexplorer.exe
taskkill /F /IM iexplore.exe
taskkill /F /IM firefox.exe
taskkill /F /IM chrome.exe
taskkill /F /IM jusched.exe
taskkill /F /IM jp2launcher.exe
taskkill /F /IM java.exe
taskkill /F /IM javaw.exe
taskkill /F /IM jqs.exe
wmic product where "name like 'Java %%'" call uninstall /nointeractive
wmic product where "name like 'Java%%'" call uninstall /nointeractive
wmic product where "name like 'Java(tm) %%'" call uninstall /nointeractive
wmic product where "name like 'J2SE Runtime Environment%%'" call uninstall /nointeractive
goto install
:install
if "%processor_architecture%"=="AMD64" goto inst64
REM:: .exe format: [version]u[update]-32/-64.exe, Beispiel: 7u45-32.exe, 7u45-64.exe
start /w %wd%\%version%-32.exe /s WEB_JAVA=1 SPONSORS=0 EULA=1 AUTO_UPDATE=0 INSTALL_SILENT=1 WEB_ANALYTICS=0
REM:: MSI INSTALLER CMD LINE: msiexec /i %wd%\%version%-32.msi /qn INSTALL_SILENT=1 WEB_ANALYTICS=0 EULA=0 REBOOT=0 SPONSORS=0
set javaEL32=%errorlevel%
:inst64
start /w %wd%\%version%-64.exe /s WEB_JAVA=1 SPONSORS=0 EULA=1 AUTO_UPDATE=0 INSTALL_SILENT=1 WEB_ANALYTICS=0
REM:: MSI INSTALLER CMD LINE: msiexec /i %wd%\%version%-64.msi /qn INSTALL_SILENT=1 WEB_ANALYTICS=0 EULA=0 REBOOT=0 SPONSORS=0
set javaEL64=%errorlevel%
REM:: 10 Sekunden Pause nach der Installation
ping localhost -n 10 >> nul
:verfication
REM:: existieren die Java Reg-Keys nach der Installation?
REM:: reg query "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /f "1.%main%.0_%update%" /k
REM:: set javaregEL32=%errorlevel%
REM:: reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment" /f "1.%main%.0_%update%" /k
REM:: set javaregEL64=%errorlevel%
echo %date% %time:~0,8% - %computername%: %version%, install-errorlevel: 32: %javaEL32%, 64: %javaEL64% >> %alllog%
REM:: Error-Handling, Reaktion auf die 3 häufigsten msiexec Fehlercodes
if %javaEL32%==1618 goto retry REM:: msiexec process in use, installation already in progress
if %javaEL32%==1602 goto retry REM:: user canceled installation
if %javaEL32%==1603 goto retry REM:: fatal error, some use it for "already installed" (eg. java)
if %javaEL64%==1618 goto retry REM:: msiexec process in use, installation already in progress
if %javaEL64%==1602 goto retry REM:: user canceled installation
if %javaEL64%==1603 goto retry REM:: fatal error, some use it for "already installed" (eg. java)
goto end
:retry
if %retry%==1 goto retryfailed
echo %date% %time:~0,8% - %computername% hat nicht Errorlevel 00 erreicht, retry in 150Sek... >> %alllog%
set retry=1
REM:: 5 Minuten warten
ping localhost -n 150 > nul
goto install
:retryfailed
echo _!_ %date% %time:~0,8% - %computername% hat die Installation abgebrochen, RETRY FAILED! >> %alllog%
goto end
:end
endlocal
exit
Das funktioniert immernoch problemlos: (Errorcode 9 bei 32bit heißt, dass auf dem System keine 32bit Installation gefunden und diese übersprungen wurde)
Ein Leser berichtete mir von seinen Erfahrungen mit Kommentaren in Batch: REM ist gut, :: ist BÖSE!
Seine Erklärung dazu:
Grund: die ‚::‘-Kommentare sind syntaktisch anscheinend nichts anderes als Sprungmarken (die eben nie angesprungen werden). Funktioniert ja auch immer schön, und man kann sogar (vermeintlich) diese Sprungmarken doppelt definieren, also mehrfach denselben „Kommentar“ schreiben. Probleme macht das aber in for-Schleifen. Konkret schicke ich dir mal ein Beispiel, bei dem die Meldung „Das System kann das angegebene Laufwerk nicht finden.“ erscheint. Das wird noch viel lustiger, wenn man ein längeres Skript in dieser for-Schleife hat. Ich habe schon drei verschiedene sinnlose Fehlermeldungen wegen dieser Sache erhalten. War nicht leicht herauszufinden, was die Ursache war. Umstellen auf REM hat alle Probleme auf einmal behoben.
Hier der Start-Code für den Test:
@echo off
for /f "tokens=*" %%a in (test.bat) do (
::test
::echo
echo %%a
)
Diesen Code habe ich Stück für Stück verändert und mir die Resultate angesehen. Und diese waren, wie vom Leser berichtet, erstaunlich fehlerhaft: Ausführungen:
Start-Code wie oben mit ::test und ::echo
nur ::echo
nur ::test
ohne ::test und ::echo
::test an verschiedenen Stellen zw. echo %%a und der schließenden Klammer
::test außerhalb der for Schleife
::test2 innerhalb der for Schleife
::test2 in ::test umbenannt
::test und eine leere Zeile davor
::echo hinzugefügt, ::test und ::echo innerhalb, Start-Code
::echo wieder entfernt, nur ::test
Also bei :: Kommentaren innerhalb der for Schleife kommt es unter Umständen zu Fehlern. Mal triggert ein :: Kommentar („test“ in diesem Fall) einen Fehler, mal nicht. Zukünftig werde ich alles mit REM auskommentieren.
Nur ein schneller Shoutout für 2 Webdienste, mit denen man einfach und sicher Passwörter teilen kann, sogar über E-Mail, Whatsapp, Skype und andere – sonst eher nicht so vertrauenswürdige – Dienste:
OneTimeSecret.com
Als besonders einfach und effektiv hat sich OneTimeSecret herausgestellt. Beliebige Textdaten lassen sich damit verschlüsseln und es wird ein Link generiert. Dieser Link wird an den Empfänger weitergeleitet und der Empfänger kann die gesicherten Daten genau ein einziges Mal ansehen. Danach werden die verschlüsselten Daten komplett gelöscht. Der Link mit den gesicherten Daten ist 7 Tage gültig (bei einem registrierten Nutzeraccount 30 Tage), wenn die Daten bis dahin nicht abgerufen wurden, muss ein neues Secret erstellt werden.
Encipher.It
Die Nachteile von OneTimeSecret behebt Encipher.it ganz gut, allerdings ist der Vorgang dort 1, 2 Klicks länger.
Step 1: Der Absender gibt die sicheren Daten ein, klickt auf [Encipher It], gibt ein beliebiges Passwort an (dass er sich merken muss!), wählt eine Zeitspanne und verschlüsselt mit [Encipher It].
Step 2: Der generierte Text wird dem Empfänger zusammen mit dem Passwort zugeschickt – optimalerweise über 2 unterschiedliche Kommunikationskanäle!
Step 3: Der Empfänger fügt den erhaltenen Text auf der Seite ein, diese erkennt den verschlüsselten Text und bietet nun [Decipher It] an. In der Dialogbox gibt der Empfänger jetzt noch das Passwort ein und entschlüsselt den Text mit [Decipher It].
Beide Dienste sind im Endeffekt Kinderleicht und der Vorgang dauert nur wenige Sekunden. Ich kann also Allen nur ans Herz legen, zukünftig nie wieder Passwörter als Klartext zu versenden.
Auf der diesjährigen Google I/O Konferenz hat Google eine interessante Neuerung angekündigt: in Zukunft soll es möglich sein Android Apps über das Chrome OS Betriebssystem auszuführen und zu nutzen. Android Apps auf dem PC, spannende Sache. Dazu wurde die „App Runtime for Chrome“ (ARC) in das System eingebaut.
Chrome vorbereiten
Der Entwickler Vlad Filippov hat eine Chrome Browser-Erweiterung ARChon 1.1 entwickelt, die dieses Feature aus dem Chrome OS in den Browser holt, egal welches Betriebssystem. Die Erweiterung gibt es jedoch nicht im Play Store. Auf Github gibt es, passend für den Chrome Stable/Canary/ARM, ein ZIP Archiv der Erweiterung als Download. Entpacken und per „Entpackte Erweiterung laden…“ im Erweiterungs-Menü des Chrome (Entwicklermodus vorher aktivieren) in Chrome hinzufügen: Hinweis: Bei mir funktionierte ARChon nicht im Chrome Stable, trotz neuer Version 38. Ich habe daher diese Tests im Canary Build durchgeführt. Der Chrome Canary installiert sich parallel zum Stable/Beta Chrome und ist somit ohne Bedenken installierbar, es wird also die Standard Chrome Installation nicht beeinflusst.
Apps laden und starten
Nun lassen sich, rein theoretisch, Android Apps im Browser ausführen. Der Entwickler hat auf der ARChon Seite auch direkt ein Beispiel, das kleine Spiel Uberspot, als Download angeboten. Dieses kann man auf den selben Weg wie die ARChon Erweiterung in den Chrome laden und ausführen.
Beliebige Apps starten
Allgemein gesagt brauch man die Rohdaten einer App, also die .apk Datei und muss diese in eine ChromeOS/Chrome App umwandeln. Dabei wird die App in einen extra Ordner entpackt und ein wenig angepasst. Diesen Ordner kann man dann in Chrome über „Entpackte Erweiterung laden…“ hinzufügen und starten. Das Vorbereiten und Starten eigener Apps, also bereits installierte Apps eures Smartphones oder andere Apps aus dem Play Store, ist aufwändiger und vor allem unzuverlässiger als erwartet. Ich werde das im nächsten Artikel mal näher erläutern.
In früheren Posts habe ich bereits typische Probleme mit Batch und Umlauten, sowieso Umlauten und dem Copyrightsymbol behandelt. Die Artikel beschreiben aber nur die Darstellung von Umlauten und dem Copyrightsymbol. Probleme können jedoch auch bei der Verarbeitung von Daten mit Umlauten auftreten, beispielsweise beim Kopieren von Dateien mit Umlauten im Dateinamen.
2 Beispielcodes, die nicht funktionieren:
:: 1
xcopy stundenpläne.xlsx /test/
:: 2
for /f "tokens=*" %%a in (files.txt) do (
xcopy "%~dp0%%a" "%~dp0test\%%a*" /Y
)
Thomas, ein Leser, war so freundlich und schickte mir einen Code, der mit Umlauten in Dateinamen problemlos klarkommt. Dieser Code nutzt ebenfalls Codepage Tricks um mit Umlauten in Dateinamen umgehen zu können:
:: Wechsele die Codepage, sonst kommen wir nicht im Umlauten in Dateinamen klar! (erst alte codepage speichern)
for /f "tokens=2 delims=:." %%a in ('chcp') do set alteCP=%%a
chcp 65001 >NUL
:: Finde alle referenzierten Dateien und lege sie in den Zielordner
for /f "tokens=*" %%a in (files.txt) do (
:: Jetzt kopieren. Der Asterisk am Ende vermeidet, dass xcopy eine manuelle Eingabe erfordert.
xcopy /Y "%~dp0%%a" "%~dp0test\%%a*"
)
:: Aufräumen.
chcp %alteCP% >NUL
Das einzig spezielle in dem Code ist der Stern im xcopy Befehl. Dieser verhindert, dass eine Eingabe vom Nutzer gefordert wird, wenn der Zielordner noch nicht existiert.