Android Entwicklung mit OpenSuSE und Archos 10.1

Wie unter developer.android.com beschrieben, sollte es nach wenigen Schritten möglich sein, auf einem angeschlossenen Gerät zu entwickeln. Bei drittens wird beschrieben, wie man sein System einrichten muss, um das Gerät unter „Ubuntu Linux“ zu erkennen. Da leider keine Beschreibung zur Entwicklung unter openSuSE vorliegt, hier meine Schritte (openSuSE 11.3):

1. In der Datei „AndroidManifest.xml“ der Anwendung (App), muss diese als debugbar definiert werden. Dazu wird der Application-Tag um android:debuggable=“true“ erweitert. Alternativ kann auch im Reiter „Application“ der Wert von „Debuggable“ auf „true“ geändert werden.
vorher:

nachher:

2. Das Gerät (in meinem Fall ein Archos 10.1), muss angeschlossen sein und das „USB-Debugging“ aktiviert sein. Zur Kontrollen kann dies über ‚Einstellungen -> Anwendungen -> Entwicklung‘ geprüft werden. Hier muss bei ‚USB-Debugging‘ der Haken gesetzt sein.
3. Nun muss für die Verwendung eines Gerätes eine Regel erstellt werden. Diese Regeln (engl. rules) sind an den Hersteller gebunden. Sollten also mehrere Geräte zur Entwicklung verwendet werden, müssen in der Regel auch mehrere Einträge erstellt werden. Um eine Regel zu erstellen, wechselt man mit ‚su‚ zum root-user. Anschließend wird in das Verzeichnis ‚/etc/udev/rules.d‘ gewechselt. Hier erstellt man mit ‚vi 51-android.rules‚ eine neue Datei und füllt diese mit nachfolgendem Inhalt (i drücken um in den insert-Modus von vi zu gelangen):

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e79", MODE="0666", SYMLINK+="android_adb"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e79", MODE="0666", SYMLINK+="android_fastboot"

Stehen noch weitere Geräte zum debuggen zur Verfügung, müssen diese darunter definiert werden. Hierzu können die beiden Zeilen kopiert und an der Stelle ‚0e79‘ abgeändert werden (0e79 steht hierbei für den Hersteller Archos). Mit der Esc-Taste wird in den command-Modus von vi gewechselt. Hier lässt sich mit dem Befehl :wq<Enter> die Datei speichern und schließen.

Nun kommt der Schritt, der in der Beschreibung zu Ubuntu nicht genannt wird. Unter OpenSuSE muss in der Datei ‚adb_usb.ini‘ (zu finden im Home-Verzeichnis im Ordner .android) zusätzlich die Hersteller-ID eingetragen werden. In meinem Fall also ‚0x0e79‘. Im Anschluss daran, kann per ‚adb kill-server‚ und ‚adb devices‚ überprüft werden, ob das Gerät erkannt wurde, oder nicht.

PS: Sollte die Hersteller-ID (idVendor) nicht bekannt sein, kann diese nach dem Anschließen des Gerätes mit folgendem Befehl ermittelt werden: ‚tail -f /var/log/messages‚. Dort sollte ein Eintrag, ähnlich dem nachfolgenden, erscheinen:

usb 1-5: New USB device found, idVendor=0e79, idProduct=1411

In Eclipse kann nun bei einem Klick auf ‚Run‘ die Anwendung auf dem Gerät getestet werden.

 

Title und Metainfos bei tt_news anpassen

Heute stand ich vor dem Problem, dass auf der Singleansicht der tt_news-Seite der Titel bei allen Newseinträgen „Detailansicht“ lautete. Dies ist aus SEO-sicht unschön, ein individueller Seitentitel in jeder News ist Pflicht. Möglicherweise funktioniert die unten genannte Lösung nicht bei jedem, bei mir funktioniert das Ganze aber.

# SEO Headeranpassung auf der News-Detailseite
[globalVar = TSFE:id={$plugin.tt_news.singlePid}]
page{
  headerData{
    1 = RECORDS
    1{
      source = {GPvar:tx_ttnews|tt_news}
      source.insertData = 1
      tables = tt_news
      field = title
      conf.tt_news >
      conf.tt_news = TEXT
      conf.tt_news.field = title
    }
  }
}
[end]

Und anschließend die Anpassung der Keywords, sowie der Description (aus dem Untertitel der News und auf 150 Zeichen gekürzt):

# SEO Headeranpassung auf der News-Detailseite
[globalVar = TSFE:id={$plugin.tt_news.singlePid}]
page{
  meta{
    keywords.field >
    description >
    keywords.data = register:newsKeywords
		description.data = register:newsSubheader
		description.crop = 150 | ... | 1
  }
}
[end]

Sollte es eine einfachere Anpassung geben, würde ich mich über Feedback freuen.