Robin Walter‎ > ‎

Blog


Android: Asus Transformer - com.google.process.gapps Fehlermeldung

veröffentlicht um 02.09.2011 13:03 von Robin Walter   [ 02.09.2011 13:20 wurde aktualisiert. ]

seitdem ersten Tag der Inbetriebnahme meines Asus Transformers kam ständig die Fehlermeldung, dass der Process com.google.process.gapps abgeschossen wurde.
Also hab ich alles getan was in den Foren auffindbar war.Einschliessliche zweimaliger Neuinstallation und nun auch das Prime 1.8.4 Rom.Keine Besserung.
Nach dem schauen der Logcats kam,ih jedoch auf eine Fehlermeldung mit com.google.android.syncadapters.bookmarks.bookmarkssyncadapters

Mit dieser Fehlermeldung fand ich de Artikel:
http://www.elliotglaysher.org/2011/08/27/chrome-sync-and-android/

Nun ist alles klar. Mein Chrome synct mit google verschlüsselt. Mein Browser synct ebenfalls, kommt jedoch mit der Verschlüsselung nicht klar.
Schaltet auf dem Tablet in den Konten Browsersync aus und ihr habt das Problem nicht mehr.

Android: ADB über TCPIP im WLAN

veröffentlicht um 10.03.2011 11:48 von Robin Walter   [ aktualisiert 08.04.2011 22:06 von Robin Walter ]

eine USB Verbindung vom Androiden zum PC ist gut, aber was, wenn man mal einen Kaffee trinken möchte der Automat jedoch weiter weg ist? Das ist doof. Das Gerät bleibt zurück da man die Verbindung gerade nicht kappen kann.
Heute ist alles vernetzt, dachte ich, und googelte ein wenig. Fündig geworden bin ich auf dieser Seite:

Also mal schnell mit der USB Verbindung in einer Command-Box den Befehl:

adb tcpip 5555

eingegeben. Bestätigt wird das ganze mit einer Erfolgsmeldung.

Nun muß man den Androiden noch fit zum lauschen auf dem 5555er Port machen.
Ohne Root-Rechte geht überhaupt nichts. Aber mit leedroid ist das ja eh kein Problem.
Danach benötigt man noch einen Terminal Emulator. Ich hatte mich für den von Jack Palevich entschieden:

Danach gibt man folgende Befehle ein:

su
setprop.adb.tcp.port 5555
stop adb
start adb

Nun ist dann auch der Androide fertig und lauscht auf eine ankommende Verbindung.
Das war´s und gleich mal testen ob Logcat funktioniert:
In der Command-Box am PC eingeben:

adb connect <IPADRESSE>
adb logcat


Update 09.04.2011:

Im Market gibt es ein tolles Programm: ADB over Wifi
dieses sorgt für die passenden Einstellungen auf eurem Gerät ohne, dass ihr das Zeug im Terminalfenster eingeben müsst.


google: 2 stufige Authentifizierung

veröffentlicht um 10.03.2011 07:26 von Robin Walter   [ aktualisiert 27.03.2011 04:54 von Robin Walter ]

ich wollte schon eine ganze zeit lang diese Art der Authentifizierung einschalten, allerdings gab es diesen Menupunkt in meinem Kontoeinstellungen bei google nicht. Nun bin ich endlich über einen passenden Artikel gestolpert:
und siehe da, damit funktioniert alles bestens!

Update: und hier der direkte Link zur englischen Google-Kontoeinstellungsseite: https://www.google.com/accounts/b/0/ManageAccount?hl=en
  

Warum verwende ich google Chrome als Browser?

veröffentlicht um 17.02.2011 12:07 von Robin Walter

Welche 2 Spalten der beiden CPUs gehören zum IE und welche zum Chrome?





…klar, Chrome fällt in der CPU History kaum auf, während der IE 8 gleich beide Kerne in Anspruch nimmt (das ist der lange Hügel gleich am Anfang). Einfach schlecht programmiert das Ding. Den Chrome-Browser habe ich nach dem IE geöffnet. Das ist das kleine zackige im linken Kernel nach dem IE Hügel.

Und dabei war es nur eine Sharepoint Seite…

Mich wundert es nicht mehr wenn sogar die Microsoft-Evangelisten Google-Chrome nutzen.

Was gibt es außer der Performance-Vorteile noch zu erwähnen:
  1. Schneller Startzeiten
  2. Alles Synchron > auf allen Rechnern freue ich mich immer wieder über gleiche Einstellungen.
  3. Developertools sind fast so gut wie der Firebug. Im Internet-Explorer ist das ein Ding der Unmöglichkeit.
  4. Urls im Hintergrund laden: Das ist wohl einer der genialsten Erfindungen. Man tippt einfach eine Url in die Adresszeile und bekommt im Fenster schon die Seite angezeigt ohne, dass man fertig getippt hat.
  5. Suchen&Finden in der Adresszeile: Einfach drauf los tippen. Findet Chrome das Suchwort nicht in den Favoriten, sucht er einfach im Netz und zeigt die Suchergebnisse wie bei Google-Instant im Fenster an.
So, zum überzeugen sollte das schon reichen. Also ladet euch das Teil runter, seid glücklich und nehmt nie wieder etwas anderes ;-)

Die Developeredition gibt es hier:

wer eher auf freigegebene Browser steht:

Android / FritzBox und die VPN Verbindung: endlich klappt´s

veröffentlicht um 24.01.2011 10:26 von Robin Walter   [ 24.01.2011 10:49 wurde aktualisiert. ]

Nach langem hin und her bin ich auf der Suche nach einer geeigneten Möglichkeit mich mittels App an der FritzBox zu authentifizieren (ich wollte die Telefonbuch-Hochladefunktion in contacts2fritzbox integrieren) zufällig über folgenden Artikel gestolpert:

Und dieser war es nun... ich probierte es und es klappt! VPN via Google-Android zur FritzBox ohne diese verändern zu müssen.
Der Artikel beschreibt den Vorgang sehr einfach. Aber: Und jetzt kommt´s! Für uns leedroid User ist es noch viel einfacher. tun.ko ist dort schon sauber installiert. Also kürze ich den Artikel einfach ab und beschreibe das notwendigste:

Vorrausetzungen:
  1. Leedroid 2.3d (dieses gibt es hier: http://leedroid.protogenlabs.com/)
  2. gepatchtes VPNC: signed-myVPNC.apk
Und die Umsetzung:
  1. Dann mal mittels der AVM Fernzugangseinrichtungssoftware (was für ein langes Wort) eine Config Datei erstellen und diese dann auch gleich abändern oder einfach meine verwenden und anpassen:

    Code

    vpncfg {
            connections {
                    enabled = yes;
                    conn_type = conntype_user;
                    name = "EINEMAILADRESSE";
                    always_renew = no;
                    reject_not_encrypted = no;
                    dont_filter_netbios = yes;
                    localip = 0.0.0.0;
                    local_virtualip = 0.0.0.0;
                    remoteip = 0.0.0.0;
                    remote_virtualip = 192.168.7.201;
                    remoteid {
                            key_id = "EINEMAILADRESSE";
                    }
                    mode = phase1_mode_aggressive;
                    phase1ss = "all/all/all";
                    keytype = connkeytype_pre_shared;
                    key = "HIEREINPASSWORT";
                    cert_do_server_auth = no;
                    use_nat_t = yes;
                    use_xauth = yes;
                    use_cfgmode = no;
    xauth { 
    valid = yes; 
    username = "UNDDORTEINLOGIN"; 
    passwd = "UNDHIEREINANDERESPASSWORT"; 
    }
                    phase2localid {
                            ipnet {
                                    ipaddr = 0.0.0.0;
                                    mask = 0.0.0.0;
                            }
                    }
                    phase2remoteid {
                            ipaddr = 192.168.7.201;
                    }
                    phase2ss = "esp-all-all/ah-none/comp-all/no-pfs";
                    accesslist = 
                                 "permit ip 0.0.0.0 0.0.0.0 192.168.7.201 255.255.255.255";
            }

            ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500", 
                                "udp 0.0.0.0:4500 0.0.0.0:4500";
    }

  2. und klar, die Wörter "HIEREINEMAILADRESSE" (2mal), "HIEREINPASSWORT", "UNDDORTEINLOGIN" sowie "UNDHIEREINANDERESPASSWORT" müsst ihr durch eure eigenen austauschen. Ebenfalls solltet ihr die IP Adressen an euer Netzwerk anpassen.
  3. Nach dem ihr nun die "signed-myVPNC.apk" installiert habt, braucht ihr diese nur noch einzurichten:
    1. Software starten, Root-Rechteanfrage aktzeptieren
    2. Parameter einstellen:
      1. Connection Name: Irgendwas
      2. IPSec gateway adresse: Eure Heimat-IP, bzw. den dyndns Name
      3. IPSec ID: "HIEREINEMAILADRESSE" (gleiches wie oben)
      4. IPSec Secret "HIEREINPASSWORT" (gleiches wie oben)
      5. Username: "UNDDORTEINLOGIN" (auch wie oben)
      6. Password: "UNDHIEREINANDERESPASSWORT" (klar, gell?) ;-)
      7. Password+Token Digits: nicht angecheckt
      8. Timeout (secs): steht bei mir auf 30... evtl. geht auch weniger
    3. danach dann auf Add klicken und ihr habt eine Verbindung eingerichtet.
    4. Wenn ihr nun lange auf diese Verbindung tippt, bekommt ihr ein Context-Menu. Dort dann auf connect und die Verbindung sollte stehen.
    5. Bei mir rennt der komplette Internetverkehr nun über die Heimat. Einfach toll!
Wenn ihr Anmerkungen habt: Nur zu! Ich bin auf eure Erfahrungen gespannt.



Mein Dank gilt den Jungs von von delux-stylez, leedroid, xda-developer für den Space, dem genialen Freak der die VPNC Installation vorgepatcht hat, eigentlich auch AVM - auch wenn diese den Androiden nicht wirklich unterstützen - und allen die in stundenlanger Arbeit versucht haben eine Verbindung aufzubauen!

FritzBox: DNS Nameserver ändern

veröffentlicht um 23.01.2011 09:22 von Robin Walter   [ 24.01.2011 10:26 wurde aktualisiert. ]

evtl. seid ihr mit den Nameservern eures Providers nicht ganz zufrieden. Umgehen könnt ihr das ganze in dem ihr in der FritzBox die Vorgaben des Providers überschreibt.
Baeachtet aber bitte, dass dies nur die FritzBoxen betrifft, welche mit dem WAN Port am DSL hängen. FritzBoxen am Kabelanschluß, oder mittels "Internet über LAN1" werden anders konfiguriert.
so, gerade eben mal in der FritzBox andere Nameserver eingetragen...

das funktioniert so:
1. Telnet aktivieren mittels Telefon #96*7*
2. mittels Telnet verbinden (Putty)
3. cd /car/flash
4. nvi ar7.cfg
5. suchen nach den Zeilen:
   overwrite_dns1 = 
   overwrite_dns2 = 
   (der Block kommt 2mal vor!)
6. durch drücken von I in den Eingabemodus wechseln
7. als Wert einen DNS eintragen:
zum Beispiel:
85.214.73.63 (anonymisierungsdienst.foebud.org)
204.152.184.76 (f.6to4-servers.net, ISC, USA)
194.150.168.168 (dns.as250.net; anycast DNS!)
213.73.91.35 (dnscache.berlin.ccc.de)
8.8.8.8 (google)
8.8.4.4 (google)
ich hatte mich zuerst für den foebud und den ccc entschieden, dann jedoch die Google-DNS entdeckt.
naja, meine Seele hab ich eh schon an Google verkauft, warum also nicht gleich auch noch die Nameserver von denen verwenden?
7. mittels Escape den Eingabemodus verlassen
8. Durch tippen von :wq den VI Editor verlassen und gleichzeitig speichern.
9. Reboot
10. Telnet aktivieren mittels Telefon #96*8*

und es klappt ;-)

Android: Ermitteln der Bildschirmauflösung

veröffentlicht um 23.01.2011 08:59 von Robin Walter   [ 24.01.2011 11:59 wurde aktualisiert. ]

um evtl. Grafiken skalieren zu können, Views auszuwählen oder was auch immer, kann es schon mal vorkommen, dass ihr vom Gerät wissen wollt wie breit und hoch das Display ist.

Code

Display display = getWindowManager().getDefaultDisplay();
int screenHeight = display.getHeight();
int screenWidth = display.getWidth();



und wenn wir schon dabei sind: Querformat oder Hochformat?

Code

int orientation = getResources().getConfiguration().orientation;

if (orientation == Configuration.ORIENTATION_PORTRAIT) {
         // do something
} else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
         // do something else
}


Android: Wo kommen die Standard-Icons her?

veröffentlicht um 16.01.2011 11:41 von Robin Walter   [ 16.01.2011 11:46 wurde aktualisiert. ]

In Eclipse seht ihr das ausgewählte SDK (Target-System). Dort in den Ordnern /android.jar/android/R.class/R/drawable findet ihr alles was ihr braucht:


die Teile welche man unter ic_menu* findet eignen sich wunderbar um Menus zu bauen:


als Resource gebt ihr bei Icon (z.B. die Online-Hilfe) an: @android:drawable/ic_menu_info_details



Android: Wir mache ich ein richtig tolles Einstellungsmenu?

veröffentlicht um 16.01.2011 11:24 von Robin Walter   [ 16.01.2011 11:39 wurde aktualisiert. ]

Zuerst benötigen wir, wie soll es auch anders sein, eine XML-Datei: z.B. /xml/preferences.xml

Inhalt:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:key="mysettingkey">
   <EditTextPreference android:key="setting1" android:defaultValue="Einstellung1" android:title="Titel Einstellung1"></EditTextPreference>
</PreferenceScreen>

danach dann noch eine passende Klase:

public class preferences extends PreferenceActivity  {

@Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.preferences);
        }

}

nach dem registrieren der Klasse in der Android Manifest XML war es das eigentlich schon. Recht einfach, nicht wahr?

Aber wir wollen die Settings ja auch noch abrufen:

auch recht easy:

   SharedPreferences prefs = PreferenceManager
        .getDefaultSharedPreferences(getBaseContext());

   String einstellung1 = prefs.getString("einstellung1",  "standardwert" );

und irgendwie müssen wir es noch schaffen das Menu aufzurufen:

       Intent settingsActivity = new Intent(getBaseContext(),
                    preferences.class);
       startActivity(settingsActivity);

nun denn, die Grundlagen sind erschaffen ;-)

jetzt wollen wir dann aber noch die Werte entsprechend in den Summarys ausgeben.

Dazu erweitern wir die Klasse um einen Listener und schreiben deshalb:

    public class preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener

und bauen auch den Listener:

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
       // Let's do something a preference value changes
       if (key.equals("einstellung1")) {
           mEinstellung1.setSummary(sharedPreferences.getString("einstellung1", ""));
           }
   }

mEinstellung1 fehlt jetzt aber noch:

        private EditTextPreference mEinstellung1;

        und im onCreate die Zuordnung dazu:
            mEinstellung1 = (EditTextPreference)getPreferenceScreen().findPreference("einstellung1");


diesen Listener müssen wir auch noch generieren... und zerstören:

@Override
   protected void onResume() {
       super.onResume();
       getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
   }

   @Override
   protected void onPause() {
       super.onPause();
       getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);    
   }

das war´s dann schon...

beim onCreate und onResume noch Summarys ordentlich setzen und es sieht auch beim Aufrufen der Settings schön aus.

z.B. mit einer Sub:

private void setSummary()
{
   SharedPreferences prefs = PreferenceManager
        .getDefaultSharedPreferences(getBaseContext());
   String einstellung1 = prefs.getString("einstellung1",  "standardwert" );
            meinstellung1.setSummary(einstellung1);
}



Google Sites und die Google Webmaster Tools > sitemap.xml

veröffentlicht um 15.01.2011 01:41 von Robin Walter   [ 15.01.2011 01:53 wurde aktualisiert. ]

Bei den Webmaster Tools von Google könnt ihr eure Sitemap im XML Format hochladen. Dies ist auch sinnvoll, damit Google alle eure Urls kennt. Wenn ihr mit Google Sites eure Seiten macht, braucht ihr die Sitemap-Datei nicht von Hand produzieren. Die Url dazu ist recht einfach:

/system/feeds/sitemap

also wie in meinem Beispiel:

1-10 of 30

Adresse

Robin Walter
Walter-Förster-Str. 3
76316 Malsch
Tel: +49 7246 449314
Mobil: +49 1578 2432487
E-Mail: mail@robin-walter.de

Paketadresse:
Robin Walter
3181110
PACKSTATION 801
76187 Karlsruhe

That´s me: