Benutzer-Werkzeuge

Webseiten-Werkzeuge


Übersetzungen dieser Seite:
de:koarrl_alzandroid

koarrl: Alzheim-Android

(last edit: 2019-07-08)

Zusammensuchen ...

Linux-Rechner mit passendem USB-Kabel

# apt-get install adb

Achtung! Dazu muß der user Mitglied der Gruppe plugdev sein

# usermod -aG plugdev $LOGNAME

Anm.: $LOGNAME ist einfach der username, z.B. franz. - Kontrolle danach mit:

# id franz

Alle Gruppen, wo franz dabei ist, werden aufgelistet.

Das Tool adb

Sehr nützlich für Rettung und Debugging.

ACHTUNG! Der adb-Daemon sollte mit root-Rechten durch ein initscript gestartet werden:

/etc/init.d/adb: adb_initscript.tgz

ACHTUNG! Erst einmal ...

http://wiki.debian.org/LSBInitScripts und dann http://www.unix.com/man-page/Linux/8/insserv/ lesen & verstehen.

Der Kommentarheader im Initscript muß LSB-Anforderungen entsprechen.
Das tool „insserv“ legt dann die gewünschten Start- und Kill-Links in den /etc/rcx-Verzeichnisen an.
Trockenlauf:

# cd /etc/init.d; insserv -vn ./adb

Wenn Trockenlauf ok:

# cd /etc/init.d; insserv -v ./adb; ./adb start

Wenn alles funktioniert, kann nun ein normaler User ..

$ adb devices 

.. aufrufen und sieht dann etwa das:

List of devices attached 
CSE_P729V       device

Oder …

adb get-serialno
CSE_P729V

Sehr brauchbar auch:

adb shell

Offizielle Doku zu adb: http://developer.android.com/guide/developing/tools/adb.html

Das Tool aapt

Aus dem SDK-Bundle zu rippen, es läuft auch standalone und kann u.a. benützt werden, um obskuren *.apk - Files Infos über ihren Inhalt zu entlocken.

$ aapt d badging "unknown.apk" | grep -Ev "label|icon|densit|main|other"

Damit die obige commandline in mc.ext (Extension-File des Midnight Commander) gute Dienste leisten kann, muß man Filenamen, die Whitespaces enthalten, mit sed nacharbeiten.
Der mc übergibt nämlich den Filenamen „my file.txt“ als „my\ file.txt“ an die Variable %f. Lösung für mc.ext daher wie folgt:

# *.apk
regex/\.apk$
	Open=%cd %p/uzip://
	View=%view{ascii} aapt d badging "`echo "%f" | sed 's/\\\//g'`" | grep -Ev "label|icon|densit|main|other"

Obskure Apps sprechend renamen

Oft findet man Apps mit Namen, die Herkunft oder Inhalt verschweigen.
Dieses Bash-script renamed solche Apps trickreich.

#!/bin/bash
###################################################################
#
#       RenOrigApk: 
#       Batch renaming for Android apps which lost their real name
#
#       V0.02 by koarrl 2014-02-14 (Status: testing)
#
###################################################################

if [ -z "`which aapt`" ]; then
    echo aapt utility not found!
    echo This tool is provided by adt-bundle-linux-xxx/sdk/build-tools/..
    echo Get it from http://developer.android.com/sdk/index.html
    exit 0
fi

[ -d OLD ] || mkdir OLD

# This strange construct below replaces the bash "for loop" ..
# .. when filenames with blanks can be expected.
# Thanks to Benjamin Schmidt & www.cyberciti.biz

find *.apk | while read APKOLD
do

    INFO=`aapt d badging "$APKOLD" | grep "package:"`
    PNAME=`echo $INFO|cut -d\' -f2`
    PVERS=`echo $INFO|cut -d\' -f6`

# unnecesssary:
#    PVCOD=`echo $INFO|cut -d\' -f4`
#    APKNEW=$PNAME-$PVERS"("$PVCOD").apk"

# better: truncate nnn.nn-blaaaaaah version strings
    SVERS=`echo $PVERS|cut -d- -f1`
    APKNEW=$PNAME"-"$SVERS".apk"

    if [ "$APKOLD" != "$APKNEW" ]; then
        cp "$APKOLD" "$APKNEW"
        mv "$APKOLD" OLD
    fi

done

Umbau des Grundgerätes ...

  1. Rooten! Eine Sache für Auskenner, nachzulesen in einschlägigen Foren
  2. ROM-Manager (ClockworkMod Recovery) installieren
  3. CyanogenMod-7.2.0-blade installieren (Achtung! Verschiedene Wege je nach Generation des Handys wegen unterschiedlichem Memorylayout)

Bei Cyanogen sind schon einige apps beigepackt, alles Google-bezogene kommt aus legalen Gründen extra

Kröten verspeisen!

Installation der Google-Apps (warum? siehe oben)

Googlekram & Gratis-Apps

Advanced Task Killer
Android System Info
Blade Checker
Dolphin Browser
HashDroid
Maverick: GPS Navigation
NoTelURL
RealCalc
Samba Filesharing for Android (root required)
Schneller Notizblock
SENA BTerm Bluetooth Terminal
TuneInRadio
WiFi Manager
Yaffs Explorer (root required)
ANMERKUNG 1: Die im Google-Extrapaket beigepackte Market-app ist bewußt und trickreich eine alte Version, die nicht upgedatet wird
ANMERKUNG 2: Die Einstellung "Installation von Nicht-Market-Anwendungen zulassen" muß NICHT angekreuzt werden,
weil auch so weitere Pakete obskurer Herkunft per "adb install something.apk" installiert werden können.
ANMERKUNG 3: Bekanntlich kennt Google unsere geheimsten Wünsche und alle je getätigten app-Downloads, siehe ...

https://play.google.com/store/account

Apps aus alternativen Quellen

AdFree (feines Werbefilter, root required) 

http://adfree.bigtincan.com/adfree.apk

Nativnux Installer (Midnight Commander, root required))
Es wird empfohlen, diesen mc per ssh-Zugang zu starten, "adb shell" geht aber genauso!

http://hex.ro/tracker/EasyTracker.php?id=45, siehe auch hier: http://forum.xda-developers.com/showthread.php?t=1243699

Kontaktlisten ...

Kontakte synchronisieren (sofern man Google seine Kontaktliste übermittelt hat)
Diese Liste läßt sich über das Gmail-Webinterface jedenfalls schön editieren bzw. zusammenführen.
Paranoiker und Terroristen können stattdessen *.vcf-Files aus der Kontakte-App auf SD-Karte ex- bzw. davon importieren.

WICHTIG! Es entsteht ein Saustall, wenn lokal am Telefon gespeicherte Kontakte mit Googles Liste gemerged werden.
Das Löschen ALLER Kontakte im Telefonspeicher geht so:
„Menü“-„Einstellungen“-„Apps“-„Anwendungen verwalten“-„Alle“-„Kontakte-Speicher“-„Daten löschen“
Und dann neuerlich mit Google und dem NSA-Backupserver synchronisieren, danke im Namen von Freiheit und Demokratie!

Klingeltöne etc.

Erste Möglichkeit: am lokalen PC einen „ringtones“-Ordner anlegen, dann auf den internen Speicher des Handys kopieren:

$ adb shell
  # mount -o remount,rw /system
  # exit
$ adb push ringtones /system/media/audio
$ adb shell
  # mount -o remount,ro /system
  # exit

Oder (zweite Möglichkeit, harmloserer Eingriff ins System) alle selbst gesammelten Signaltöne auf die SDcard kopieren, in systematisch benannte Unterordner in /sdcard/media/audio:

  1. alarms
  2. notifications
  3. ringtones
  4. (ui)

& dann:

reboot into recovery
-> "advanced" -> "wipe Dalvik cache" -> "reboot recovery" -> "reboot system now" (das dauert länger als üblich, keine Angst ... =8-)

Alle Signaltonfiles werden damit beim Neustart zusamengesucht und scheinen dann im System-Auswahlmenü auf. ACHTUNG! Gleichnamige Files werden doppelt angezeigt, sofern sie an den 2 Speicherorten vorhanden sind.

Selber Apps entwickeln

Zunächst das ADT-Bundle von hier herunterladen (Betriebssystem - je nachdem): http://developer.android.com/sdk/index.html
Das Bundle enthält alle nötigen Dinge (außer dem leidigen adb-Startscript für Linuxer, siehe vorher).
Einfach das adt-bundle-*.zip ins Homedirectory expandieren.
Statt dem gerippten adb-Binary sollte man nun das aktuelle adb aus dem Bundle (in adt-bundle-*/sdk/platform-tools) nach /usr/local/bin kopieren und chown root:root nicht vergessen.
Und nicht vergessen: $PATH auf die …/platform-tools setzen!
Nach Reboot sollte nun der aktuelle adb-Daemon gestartet werden und eigentlich alles funktionieren.

Test auf der Commandline:

user@tux:~/adt-bundle-linux-x86-20130729/sdk$ adb devices
List of devices attached 
CM7-Blade       device

Beim Versuch, eine Eigenbau-app via Eclipse auf das reale Device zu installieren, verweigert adb möglicherweise den Zugriff:

user@tux:~/adt-bundle-linux-x86-20130729/sdk$ adb devices
List of devices attached 
????????????    no permissions

Abhilfen (ohne Erfolgsgarantie):

  1. Am Handy „Menu“-„Einstellungen“-„Apps“-„Entwicklung“-„Debug-Modus“: Checkbox toggeln, dann geht's wieder.
  2. als root: /etc/init.d/adb restart
  3. USB-Verbindung ab- und wieder anstecken

Wirksam, aber *igitt* … Berechtigungen von adb ändern auf suid-root:

-rwsrwx--- 1 root  user  1231286 Jul 25 22:58 adb
de/koarrl_alzandroid.txt · Zuletzt geändert: 2019/07/08 11:36 von koarrl