[How-To] Systemvariablen als Widget und Einträge in build.prop

  • 15 Antworten
  • Letztes Antwortdatum
payce

payce

Dauer-User
1.174
Hallo an Alle,

Sinn und Zweck ist eine "Bibliothek" an Milestone-Systemvariablen zu erstellen, die Ihr A) direkt beeinflussen könnt und B) als Widget verwenden könnt. Und falls Ihr helfen könnt/wollt -> :thumbsup:

Standard-Disclaimer: Ihr greift hier in das System-Management von Android DIREKT ein! Es können dadurch Schäden entstehen (vor Allem bei unsachgemäßem Setzen von Variablen) -> der Autor (ich...) übernimmt nicht die Verantwortung dafür. ;)



Vorraussetzungen:
- root
- App "Gscript lite" installiert
- Falls vorher getestet werden soll: Irgendein Terminal (Better Terminal Pro)

Abfragen und Setzen von Systemvariablen per Terminal:
- Zunächst immer per dem Befehl "su" als root anmelden.
- Alle Systemvariablen können mit dem Befehl "cat" nach Ihrem aktuellen Wert befragt werden.
- Mit "echo" können Systemvariablen gesetzt werden.

Ummünzen als Widget:
- Per GScript das gewünschte Script erstellen. (Immer den Haken bei "Needs SU?" setzen!) Hier ist nur der Befehl "su" nicht nötig! Nur die "cat" bzw. "echo" Befehle.
- Auf dem Homescreen lange drücken -> Verknüpfungen -> GScript -> das jeweilige Script auswählen.

Alternativ: Funktionen in Tasker/Locale nutzen
- Tasker/Locale installieren, "Locale Execute" Plugin herunterladen (Market) und installieren
- Den jeweiligen (einzeiligen!) Befehl mit dem Locale Execute ausführen, wobei man vor den Befehl ein "@!" setzen sollte (Sinn: Kein Popup über den Befehl und Befehl wird als root ausgeführt). Beispiel: "@! echo 10 > /sys/class/leds/lcd-backlight/brightness"
- Hier eine ausführlichere Beschreibung: (Link)


________________________________________________________________________________________

Übersicht Systemvariablen:

Bildschirmhelligkeit + Tastatur-/Softkeybeleuchtung
Code:
Abfrage:
cat /sys/class/leds/lcd-backlight/brightness

Setzen:
echo 100 > /sys/class/leds/lcd-backlight/brightness

Bildschirmhintergrundbeleuchtung: /sys/class/leds/lcd-backlight/brightness
Tastaturbeleuchtung: /sys/class/leds/keyboard-backlight/brightness
Softkeys: /sys/class/leds/button-backlight/brightness
Bildschirm-HG: Die Helligkeit kann von 0 bis 255 gesetzt werden. ACHTUNG! Die Werte 0 und 1 schalten die HG-Beleuchtung komplett ab! Es wird dann sehr schwer, etwas auf dem Screen zu erkennen!

Die Bildschirmhelligkeit hier zu setzen macht sehr Sinn, denn: Normalerweise verhindert Motorola das Setzen einer Bildschirmhelligkeit kleiner als 20. Über "echo ..." kann man diese Grenze umgehen.

Tastatur- und Softkeybeleuchtung: Alle Werte 1 und größer schalten die Beleuchtung ein (kein Dimmen, d.h. 1 ist genauso hell wie 255). Auf Null wird alles wieder abgeschaltet.

Einziger Nachteil für alle Einträge: Die hier gesetzten Einstellungen funktionieren nur bis zum nächsten Screen Off! Dann wird wieder der alte Wert übernommen. Trotzdem recht praktisch, falls einem der Screen mitten in der Nacht einmal mehr blendet (bspw. bei Nutzung als Navi: Softkey Beleuchtung aus, Bildschirm-HG auf 10 und fertig).


Torch (LED Blitz) ansteuern
Code:
Abfrage:
cat /sys/class/leds/torch-flash/flash_light

Setzen:
echo 100 > /sys/class/leds/torch-flash/flash_light
Wert 0 schaltet ab. Zwischen 1 und 255 kann man die Helligkeit einstellen (255 ist schon FIES hell). Das ist ein ganz cooler Vorteil zu den ganzen Torch-Widgets: Die Helligkeit kann beliebig eingestellt und bspw. auch maximiert werden.

Wie bei allen Torches gilt auch hier: Achtung, die LED ist NICHT für längeren Gebrauch ausgelegt und kann Schaden nehmen!


Notification LED RGB
Code:
Abfrage:
cat /sys/class/leds/red/brightness

Setzen:
echo 100 > /sys/class/leds/red/brightness

rot: /sys/class/leds/red/brightness
blau: /sys/class/leds/blue/brightness
grün: /sys/class/leds/green/brightness
Wie bei allen Brightness Werten: 0 schaltet aus, alles größer 1 schaltet ein. Zwischen 1 und 255 kann man die Farben *etwas* in der Intensität steuern. Da muss man mal etwas rumprobieren, was am besten ausschaut. Bspw. blau (blue/brightness) ist auch bei 255 etwas schwach auf der Brust.

Vibration einschalten
Code:
Vibration für 200 ms:
echo 200 > /sys/class/timed_output/vibrator/enable
Eigentlich ja sinnfrei, aber spaßig. ;) Ist vllt für ein paar Scripter unter Euch interessant.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: wartemal und VeluxRacer
Kurze Info Android Property System

Das Android Property System speichert systemweite Variablen, die den korrekten Ablauf von Prozessen sicherstellen (WLAN, Digikamera, DPI-Auflösung usw. usf.). Dabei gibts ein kleines Problem:

(Großes DANKE an pbininda, der auf dieses Problem gestoßen ist und auch gleich eine Lösung dafür bereit gestellt hat! Siehe hier.)

Bei manchem macht der Stein nach einer gewissen Laufzeit Probleme. Bspw. läuft W-Lan nicht mehr gescheid oder VPN Netze werden nicht richtig initialisiert. Das *kann* daran liegen, dass das Android Property System überladen ist. Das Property System (welches unter Anderem durch default.prop und build.prop mit Werten gefüllt wird) hat Platz für 247 Einträge. Problem: Bei den meisten sind bereits direkt nach dem Boot schon > 240 Einträge belegt. Also nicht mehr genügend frei für weitere Einträge. Vielen Dank, Motorola, für diesen wirklich vermeidbaren und dummen Fehler...

Wenn Ihr wissen wollt, wieviele Einträge bereits belegt sind: Shell aufrufen (bspw. Better Terminal Pro) und folgenden Befehl eintippen: "getprop | wc". Vorraussetzung: Funktionierendes busybox. Die erste Zahl zeigt die momentane Zahl an Einträgen im Android Property System. Zur Erinnerung: Ab 247 ist Schluss!

Abhilfe schafft man, indem unnötige Variablen beim booten deaktiviert werden. Siehe nächster Absatz.

Unnötige, deaktivierbare Einträge in
/system/build.prop und /system/default.prop

Die folgenden Infos sind direkt vom User pbininda übernommen:

pbininda schrieb:
Hier ist meine modifizierte /system/build.prop:
Code:
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=SHOLS_U2_02.36.0
ro.build.display.id=SHOLS_U2_02.36.0
ro.build.version.incremental=8985865
ro.build.version.sdk=7
ro.build.version.codename=REL
ro.build.version.release=2.1-update1
##ro.build.svn=24
##ro.build.date=Thu Jun  3 12:47:57 CDT 2010
##ro.build.date.utc=1275587277
##ro.build.type=user
##ro.build.user=milestcm
##ro.build.host=il93lnxebld02
##ro.build.tags=rel-keys
ro.product.model=Milestone
ro.product.brand=MOTO_VFDE
ro.product.name=umts_sholes
ro.product.device=umts_sholes
ro.product.board=sholes
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=motorola
ro.product.locale.language=de
ro.product.locale.region=DE
ro.wifi.channels=
ro.board.platform=omap3
# ro.build.product is obsolete; use ro.product.device
ro.build.product=umts_sholes
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=umts_sholes-user 2.1-update1 SHOLS_U2_02.36.0 8985865 rel-keys
ro.build.fingerprint=MOTO_VFDE/umts_sholes/umts_sholes/sholes:2.1-update1/SHOLS_U2_02.36.0/8985865:user/rel-keys
# end build properties
#
# system.prop for UMTS Sholes
#

rild.libpath=/system/lib/libril-moto-umts-1.so
rild.libargs=-d /dev/ttyS0
ro.sf.lcd_density=240
ro.default_usb_mode=0

# Default network type.
# 3 -> GSM/WCDMA (auto mode, according to PRL)
# AVAILABLE Application Settings menu
ro.telephony.default_network=3

wifi.interface = tiwlan0
# Time between scans in seconds. Keep it high to minimize battery drain.
# This only affects the case in which there are remembered access points,
# but none are in range.
wifi.supplicant_scan_interval = 15

# The OpenGL ES API level that is natively supported by this device.
# This is a 16.16 fixed point number
ro.opengles.version = 131072

# This is a high density device with more memory, so larger vm heaps for it.
dalvik.vm.heapsize=24m

#proximit sensor screen off delay
mot.proximity.delay=450

#proximit sensor disable touch distance 
mot.proximity.distance=60

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.product.multi_touch_enabled=true
ro.product.max_num_touch=2
ro.product.tfdt_string=com.motorola.android.app.tfdt.START
dalvik.vm.jniopts=warnonly
ro.com.motorola.smartsensor=true
ro.config.notification_sound=F1_New_SMS.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
ro.telephony.call_ring.multiple=false
ro.telephony.call_ring.delay=3000
##ro.url.safetylegal=http://www.motorola.com/staticfiles/Support/legal/?model=A855
ro.setupwizard.enable_bypass=1
ro.media.enc.hprof.file.format=mp4
ro.media.enc.hprof.codec.vid=h264
ro.media.enc.hprof.codec.aud=aac
ro.media.enc.hprof.vid.width=720
ro.media.enc.hprof.vid.height=480
ro.media.enc.hprof.vid.fps=25
ro.media.enc.hprof.vid.bps=3000000
ro.media.enc.hprof.aud.bps=96000
ro.media.enc.hprof.aud.hz=16000
ro.media.enc.hprof.aud.ch=1
ro.media.enc.hprof.duration=60
##ro.media.enc.lprof.file.format=mp4
##ro.media.enc.lprof.codec.vid=m4v
##ro.media.enc.lprof.codec.aud=amrnb
##ro.media.enc.lprof.vid.width=320
##ro.media.enc.lprof.vid.height=240
##ro.media.enc.lprof.vid.fps=15
##ro.media.enc.lprof.vid.bps=200000
##ro.media.enc.lprof.aud.bps=12200
##ro.media.enc.lprof.aud.hz=8000
##ro.media.enc.lprof.aud.ch=1
##ro.media.enc.lprof.duration=30
ro.media.enc.file.format=3gp,mp4
ro.media.enc.vid.codec=h264,m4v,h263
ro.media.enc.aud.codec=aac,amrnb
ro.media.enc.vid.h264.width=176,720
ro.media.enc.vid.h264.height=144,480
ro.media.enc.vid.h264.bps=64000,8000000
ro.media.enc.vid.h264.fps=1,30
ro.media.enc.vid.h263.width=176,720
ro.media.enc.vid.h263.height=144,480
ro.media.enc.vid.h263.bps=64000,8000000
ro.media.enc.vid.h263.fps=1,30
ro.media.enc.vid.m4v.width=176,720
ro.media.enc.vid.m4v.height=144,480
ro.media.enc.vid.m4v.bps=64000,8000000
ro.media.enc.vid.m4v.fps=1,30
ro.media.enc.aud.amrnb.bps=5525,12200
ro.media.enc.aud.amrnb.hz=8000,8000
ro.media.enc.aud.amrnb.ch=1,1
ro.media.enc.aud.aac.bps=8192,96000
ro.media.enc.aud.aac.hz=16000,16000
ro.media.enc.aud.aac.ch=1,1
ro.media.dec.aud.wma.enabled=1
ro.media.dec.vid.wmv.enabled=1
ro.media.cam.preview.fps=0
ro.com.google.clientid=android-motorola
##ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
##ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.config.vc_call_vol_steps=7
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
ro.config.sync=yes
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.config.ringtone=Red_Beats.ogg
ro.com.google.gmsversion=2.1_r1
ro.com.google.clientidbase.am=android-vf-{country}
ro.com.google.clientidbase=android-hms-vf-{country}
ro.setupwizard.mode=OPTIONAL
ro.com.google.clientidbase.gmm=android-motorola
ro.com.google.clientidbase.yt=android-motorola 
ro.com.google.locationfeatures=1
Die Einträge mit ## am Anfang habe ich auskommentiert.
  • Die auskommentierten ro.build.* Einträge beschreiben den Rechner auf dem das System gebaut wurde (wen interessierts?)
  • ro.url.safetylegal ist eine URL für einen Sicherheitshinweis?
  • ro.media.enc.lprof.* sind angepasste Werte für Video-Aufzeichnungen mit niedriger Qualität (ich nutze nur hohe Qualität)
  • ro.url.legal und ro.url.legal.android_privacy sind wieder URLs für irgendwelche Sicherheitshinweise?

pbininda schrieb:
Und hier meine modifizierte /system/default.prop
Code:
ro.com.google.clientidbase.vs=android-motorola
ro.build.config.version=GAS_EMEA_USASHLS00VFDE_P035
ro.build.config.date=Mon Jul 12 20:51:05 -0500 2010
##ro.bidi.Hebrew=Off
ro.keyboard.type=qwertz
ro.bidi.enabled=false
##ro.bidi.Arabic=Off
persist.sys.timezone=Europe/Berlin
ro.fota.enable=1
sms.convert.char.for.latam=0
##ro.bidi.Russian=Off
bidi steht wohl für "bidirectional input" nachdem ro.bidi.enabled eh auf false steht, denke ich, dass die anderen ro.bidi.* Einträge für die Katz sind.

Nach diesem "Ausdünnen" habe ich nach Nutzung von WiFi-Netz, 3G-Daten und VPN insgesamt 245 Properties, also noch zwei in Reserve :razz:

Es müssen nicht alle Deaktivierungen übernommen werden, sondern nur die, die einem unnötig erscheinen.

Einträge in /system/build.prop
und /system/default.prop

Die Datei /system/build.prop beinhaltet einige Einträge, die das Benehmen des Steins beeinflussen und verändert werden können. Änderungen an der build.prop sind IMMER riskant und sollten daher von einem vorherigen Backup der build.prop UND einem nandroid-Backup begleitet werden.

Ändern kann man die Einträge bspw. mit "Root Explorer". Nach einer Änderung ist zur Übernahme der neuen Einstellungen ein Reboot nötig!

DPI-Auflösung

Code:
Originaleintrag:
ro.sf.lcd_density=240
Dieser Wert gibt an, wieviel DPI der Bildschirm darstellt / darstellen soll. Eine Änderung ist mit so mancher App auch möglich (LCD Density Changer), aber dafür muss man nu kein Geld ausgeben, richtig?

ACHTUNG! Das Verändern hat schon bei so manchem zum Locken des Steins geführt! Hier eine Übersicht über "funktionierende Einstellungen:
https://www.android-hilfe.de/forum/...n-welcher-datei.42820-page-2.html#post-539370


Proximity Sensor
- bisher nicht getestet - Freiwillige vor - :smile:
Code:
Originaleinträge:
mot.proximity.delay=450
mot.proximity.distance=60
Die beiden Einträge sind (anscheinend) für den Annäherungssensor zuständig, der beim telefonieren den Touchscreen abschaltet. Während der erste Eintrag den Delay dafür vorgibt (450 -> wahrscheinlich ms), ist der zweite Eintrag als Schwellwert zu sehen: Gibt der Proximity Sensor einen höheren Wert zurück, wird der Display abgeschaltet.

Falls also jemand mit seinem Proximity Probleme hat (meistens, dass der Display NICHT abschaltet) -> rauf- bzw runtersetzen (im Beispiel: runter).


Ring Delay
Code:
Originaleintrag:
ro.telephony.call_ring.delay=1000
Ganz recht, richtig gelesen: "Call Ring Delay" - der Stein wartet gemütlich eine Sekunde (= 1000 ms) ab, bevor er den entsprechenden Klingelton anspielt. Viele User haben den Wert bereits mit Erfolg runtergesetzt (ich persönlich auf 100 ms). Ein Minimum wurde bisher nicht gefunden (0 wurde aber noch nicht probiert meines Wissens).


ro.media.enc. Einträge
Unter ro.media.enc* gibt es eine ganze Menge Einträge, wie der Stein geschossene Bilder/Videos/Audiodateien abspeichert. Ändert man hier etwas, kann man seine gewünschten Formate vorab auswählen, ohne großartig konvertieren zu müssen. Was man hier alles ändern kann ist bspw. hier super beschrieben: https://www.android-hilfe.de/forum/...w-to-aufloesung-der-cam-bearbeiten.15777.html - Deswegen gehe ich hier auch gar nicht mehr darauf ein.


Wieviel Steps in der Lautstärke von Anrufen
- bisher nicht getestet - Freiwillige vor - :smile:
Code:
Orignaleintrag:
ro.config.vc_call_vol_steps=7
Gibt anscheinend vor, wieviele Steps beim Regeln der Anruflautstärke während des Telefonierens möglich sind. Falls das einem also zu viele / zu wenige sind: Ausprobieren. Ist aber eher nerdig, DAS auch noch zu ändern. ;)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: VeluxRacer
fein fein ;)
werd ich mal beobachten :D und falls ich noch sinnvolle sachen finde sag ich bescheid ;)

das abschalten der hw-tastaturbeleuchtung und der "softkeys" find ich sinnvoll, wenn man den stein im dock hat ;)

mal schauen was man da noch schönes zusammen gebaut bekommt ^^
 
Also wie gesagt: Wenn irgendwelche Systemvariablen bekannt sind, einfach posten, ich schmeiß die SEHR gerne mit rein! :) :) :)

Kennst Du schon den hier:
echo 0 > /sys/class/omap3430/bootloader/lock
 
Find ich ne gute Sache und sehr interessant. :thumbup:

Bin gespannt, was Du/Ihr noch so findet, bitte am Ball bleiben.
 
Was ich mich ernsthaft frage und wo man mal etwas bohren könnte: Unter /sys/class/ gibts einige USB-Einträge.

Ich frage mich, ob es *irgendeinen* Eintrag dort gibt, den man nutzen könnte um den USB-Slavemodus abzuschalten und in einen USB-Host oder USB-OTG Modus zu wechseln. Ich habe bereits ein wenig rumexperimentiert, aber die Ergebnisse waren eher ernüchternd: Entweder hieß es "permission denied" (ich denke mal, weil der USB Prozess im Hintergrund bereits aktiv läuft) oder es kam zum sofortigen Reboot des Steins. :p

Vielleicht will hier sich mal wer autoben, der sich mit USB besser auskennt? :D
 
wäre das schön wenn man den bootloader so leicht entsperren könnte :D
 
Schau mal nach /sys/power. Dort hats viele werte welche man ändern könnte.
 
@FuFu: Kannst Du mal den Titel kurz ändern? Folgendes kommt nämlich noch dazu:

[How-To] Systemvariablen als Widget und Einträge in build.prop


/edit: Danköö! :)
 
Zuletzt bearbeitet:
Update: A paar mehr Variablen. Tasker als Alternative zu GScript. Grüße!
 
payce schrieb:
Ring Delay
Code:
Originaleintrag:
ro.telephony.call_ring.delay=1000
Ganz recht, richtig gelesen: "Call Ring Delay" - der Stein wartet gemütlich eine Sekunde (= 1000 ms) ab, bevor er den entsprechenden Klingelton anspielt. Viele User haben den Wert bereits mit Erfolg runtergesetzt (ich persönlich auf 100 ms). Ein Minimum wurde bisher nicht gefunden (0 wurde aber noch nicht probiert meines Wissens).

Ich habs auf 0 oder 1 eingestellt, jedoch fängt es nicht gleich an zu klingeln. Wahrscheinlich ist das Handy zu "lahm".
 
kann sein, man muß ja auch bedenken, das das system den Klingelton ja auch erstmal einlesen muß ;) und je nachdem wie groß der ist und wo (sdcard oder interner speicher) kann das etwas dauern...


@payce
das mit der Vibration hat was :D kann man Leute mit erschrecken, wenn man es einfach mal mit in die mot_boot_mode setzt und 5 sek anlässt :D und dazu noch die LED rot an ^^
 
Update: Android Property System und deaktivierbare Einträge.
 
Ich hab da nochmal was für Euch gefunden :D

wem die Helligkeit des Displays zu "dunkel" ist, der hat die möglichkeit sie noch ein kleines bisschen zu erhöhen...

nutz dazu einfach die Konsole und gibt dort folgendes ein:
su
echo 1 > /sys/class/leds/lcd-backlight/als

und ihr werdet sehen, das wenn Ihr enter gedrückt habt, die helligkeit etwas hör ist...
was nun aber genau das bewirkt, kann ich euch nicht sagen ;) ich bin nur durch zufall über die Variable gestolpert, in sogut wie allen Roms ist der wert von Haus auf auf "0" gesetzt (bei CM7 auf jeden fall) und ein setzten auf "1" macht die Display beleuchtung etwas heller... und auf einigen Stufen ist dies angenehmer, aber das kann ja jeder für sich dann entscheiden...

ob der Wert nach dem standby noch vorhanden ist kann ich nicht sagen, nie getestet ;) und ob er nach nem reboot noch da ist kann ich auch nicht sagen...
wer es unbedingt ab dem reboot haben will, kann sich die 1 Zeile ja in ein bootscript einbauen, oder wer Tasker nutzt, wird auch wissen, wie man das damit sinnvoll nutzen kann ;)
 
Ist zwar schon ein ziemlich alter Thread, aber die enthaltene Infos, wo der File für die Backlights liegen, helfen bei der App ButtonLED.
ButtonLED - Android App - Download - CHIP Handy Welt
Mit der kann man die 4 Buttons des Steins als Signal-LED für entgangene Telefonate/Nachrichten nutzen. Die App fand bei mir aber den entsprechenden Brightness-File nicht automatisch, man kann ihn aber bei den Settings auch manuel eingeben.
Danke an payce für die Info Softkeys: /sys/class/leds/button-backlight/brightness

TL
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: -FuFu-
Hey an euch Scripter Profis ....

Welche Zeile kann ich in die Build.prop einfügen, um beim Booten meines Razr die Data und cache beim Bluetooth zu löschen?

Ich habe CM10.1 und manchmal will das Bluetooth nicht mitbooten, es geht auch so nicht zu starten.

Die Lösung: Einstellungen->Apps->ALLE->Bluetooth-Freigabe -> (Daten und Cache Löschen ) -> Es startet sofort :thumbsup:

Währe mehr als dankbar für eine Zeile zur Lösung meines Problems ....
 

Ähnliche Themen

B
Antworten
6
Aufrufe
7.715
martin_austria
M
-FuFu-
  • -FuFu-
Antworten
0
Aufrufe
2.705
-FuFu-
-FuFu-
P
Antworten
177
Aufrufe
26.393
frankymatt
F
Zurück
Oben Unten