Logo der Binär-Laufzeitumgebung für drahtlose Kommunikation

Die Binary Runtime Environment for Wireless ( BREW , auch bekannt als Brew MP oder Qualcomm BREW ) ist eine veraltete Anwendungsentwicklungsplattform von Qualcomm , die ursprünglich für CDMA -Mobiltelefone ( Code Division Multiple Access ) entwickelt wurde und Anwendungen von Drittanbietern wie mobile Spiele unterstützte. Sie wurde sowohl in einigen Feature-Phones (meist mit ähnlichen Spezifikationen wie Mittelklasse- bis High-End-Mobiltelefone) als auch in Smartphones angeboten .

Stark markenorientierte BREW-App-Managerin von UScellular

Brew MP wurde 1999 als Plattform für drahtlose Anwendungen auf CDMA-basierten Mobiltelefonen entwickelt und feierte im September 2001 Premiere. Als Softwareplattform zum Herunterladen und Ausführen kleiner Programme für Spiele, Nachrichten und Fotos bot Brew MP den großen Vorteil, dass Entwickler ihre Anwendungen dank standardisierter Programmierschnittstellen (APIs) problemlos auf alle Brew-MP-Geräte portieren konnten. Software für Brew-MP-fähige Mobiltelefone lässt sich in C oder C++ mit dem frei verfügbaren Brew-MP- Softwareentwicklungskit (SDK) entwickeln . [ 1 ] Die BREW -Laufzeitbibliothek ist Teil der On-Chip- Firmware bzw. des Betriebssystems des drahtlosen Geräts und ermöglicht es Programmierern, Anwendungen zu entwickeln, ohne die Systemschnittstelle programmieren oder drahtlose Anwendungen verstehen zu müssen. BREW wird als Pseudo-Betriebssystem, aber nicht als vollwertiges mobiles Betriebssystem bezeichnet. Im Gegensatz zu Java ME , das Code nativ ausführt , ist BREW keine virtuelle Maschine .

Software

Für Softwareentwickler bot Brew MP eine vollständige Sammlung von Anwendungsprogrammierschnittstellen (APIs) zur Entwicklung von Software und Anwendungen in C , C++ und Java . Die Plattformunterstützung erfolgte über einen anwendungsspezifischen integrierten Schaltkreis (ASIC). Der Speicherbedarf betrug ca. 15.900 KB (15,9 MB). In den Versionen 1.x bis 2.x (vor 2004) lag er bei nur etwa 60 KB. BREW ermöglichte zudem direkten Hardwarezugriff. Versionen vor Brew MP liefen mit REX OS (Qualcomms eigenem Echtzeitbetriebssystem), während Brew MP Brew RTOS (ein weiteres Echtzeitbetriebssystem für fortschrittliche Mobiltelefone) nutzte. Anstatt interpreterbasierten Code zu verwenden, griff BREW auf eigene mobile Hardware zurück.

Versionsverlauf

BREW 1.0 / 1.1 (2001–2003)

BREW 1.0 - 1.1 'Mobile Shop' App-Manager (2001–2003)

BREW 1.1, die 2001 erschien, war die erste Version von Brew. Sie wurde ursprünglich für das Kyocera QCP-3035 (das erste kommerziell erhältliche BREW-fähige Handy) und das Sharp Z-800 entwickelt. Sie nutzte Funktionen eines PDAs (vor allem für einige Anwendungen und die Ausführung von BREW-Anwendungen). Allerdings fehlten ihr die erweiterten Multimedia-Funktionen und die Unterstützung für Java ME, die in späteren Versionen verfügbar waren. Sie war die einzige BREW-Version mit Unterstützung für Monochrom-Bildschirme, da diese in BREW 2.0 entfernt wurde. BREW 1.1 war die erste Version von Brew, die Java ME-Anwendungen ausführen konnte. Sie war 2002 und Anfang 2003 auf einigen BREW-fähigen Handys verfügbar.

BREW 2.0 / 2.1 (2002–2009)

Die Software wurde Mitte 2002 veröffentlicht und war von Ende 2002 bis Ende 2009 auf den meisten BREW-fähigen Mobiltelefonen vorinstalliert. Sie bietet Unterstützung für erweiterte Multimedia-Wiedergabe (Video- und Audiowiedergabe sowie 3GPP-Multimediaformate), EV-DO- und Bluetooth-Konnektivität, Bildschirmschoner und weitere Verbesserungen. Zudem unterstützt sie MIDP 2.0 unter BREW 2.1 und ist abwärtskompatibel mit BREW 1.x-Anwendungen.

Es war seit 2004 auf den meisten Feature-Phones in Indonesien, China und anderen Ländern vorinstalliert und wurde bis 2017 von einigen Mobilfunkanbietern unterstützt.

BREW 3.0 / 3.1 (2004–2012)

BREW 3.0.1 – 3.1.2 App-Manager (2004–2009) (z. B. LG VX3400, Samsung SCH-A630, LG VX8600 Chocolate Flip und einige CDMA-Mobiltelefone. Inklusive der meisten BREW SDKs)

Die Mitte 2002 veröffentlichte Version wurde von Ende 2004 bis Anfang 2012 auf den meisten BREW-fähigen Mobiltelefonen installiert. Sie war die erste BREW-Version mit grundlegenden Änderungen und bot zahlreiche Funktionen für Mobiltelefone, darunter WLAN-Konnektivität, OpenGL ES 1.0, 3G-Unterstützung, GPS, QWERTZ-Tastaturen und Unterstützung für Bildschirmauflösungen über 176x220 Pixel. Sie ist abwärtskompatibel mit BREW-2.x-Anwendungen, jedoch nicht mit BREW-1.x-Anwendungen.

Es handelt sich außerdem um die erste BREW-Version mit Unterstützung für 3D-Grafikrendering, die jedoch ausschließlich Software-Rendering nutzt (welches auch JSR 184 für Java ME-Spiele unterstützt). Hardwarebeschleunigung wird nativ über OpenGL ES 1.0 unterstützt (sofern ein 3D-Beschleunigungschip verfügbar ist).

Es war seit 2005 auf den meisten Feature-Phones in den Vereinigten Staaten und anderen Ländern vorinstalliert und wird noch immer von einigen Mobilfunkanbietern unterstützt.

BREW 4.0.1 - 4.0.2 (2007–2011)

Die App wurde von 2007 bis 2011 veröffentlicht und war nur auf wenigen Mobiltelefonen (wie dem LG enV Touch und dem LG Versa) verfügbar. Sie bot nur wenige Verbesserungen und wurde später von Brew MP abgelöst. Brew MP enthielt zusätzliche Funktionen, die auch in Brew MP verfügbar sind, wie beispielsweise die Unterstützung des Beschleunigungssensors.

Es wird auch für die Zeebo-Konsole in Mexiko und Brasilien verwendet.

Brew MP 5.0.1 - 5.0.4 (2009–2021)

BREW MP 1.0.1 - 1.0.4 App Manager (2009–2015) (z. B. Pantech Verse, Samsung SCH-R270 Chrono 2 und einige CDMA-Feature-Phones)

Brew 5.0 erschien 2009 mit zahlreichen neuen Funktionen (darunter SVG-Bilder) und war abwärtskompatibel zu BREW 3.x und 4.x. Einige ältere APIs wurden in dieser Version als veraltet markiert. Mit dieser Version erfolgte auch der Wechsel zu BREWs eigenem Echtzeitkernel anstelle des REX-Betriebssystems von Qualcomm.

Die Entwicklerseite von Brew MP wurde am 23. Juli 2021 nach acht Jahren der Inaktivität abgeschaltet.

BREW-Anwendungsentwicklung

Zum Testen von Anwendungen während der Entwicklung enthält das SDK einen BREW- Emulator bzw. ab BREW-Version 1.1 den BREW-Simulator . Die BREW-Umgebung bietet mehrere Ebenen von Anwendungssignaturen . Eine Signatur authentifiziert den Entwickler. Eine weitere Signatur bestätigt, dass eine Anwendung die True-BREW-Tests bestanden hat und wird von Intertek vergeben. Die einzelnen Telekommunikationsbetreiber konfigurieren die Endgeräte so, dass die zweite Signatur entweder erzwungen oder ignoriert wird. BREW-fähige Endgeräte verfügen über einen Testmodus, der es Anwendungen ermöglicht, die Signaturprüfung zu umgehen. Qualcomm stellt BREW-fähigen Mobilfunknetzbetreibern Anwendungen zur Verfügung, die die Tests bestanden haben. Die Betreiber können dann auswählen, welche dieser Anwendungen sie ihren Endnutzern in ihrem Katalog anbieten.

Die Signaturen von BREW sind durch eine elektronische Seriennummer (ESN) und eine Mobilgeräte-Kennung (MEID) geschützt . Dies verhindert die unautorisierte Weitergabe/das Sideloading von BREW-Anwendungen an Dritte, anstatt sie an Mobilfunkanbieter zu übertragen. Sobald die Anwendung über einen BREW-basierten Mobilfunkanbieter OTA heruntergeladen wird, generiert die .sig-Datei automatisch eine elektronische Seriennummer für das installierte Mobilgerät.

Der BREW-Emulator, BREW Simulator genannt , emuliert keine Handy-Hardware. Stattdessen wird die BREW-Anwendung in nativen Code kompiliert und mit einer kompatiblen BREW- Laufzeitbibliothek verknüpft . Daher können Anwendungen nicht ohne ein im Testmodus betriebenes BREW-Handgerät auf Plattformfehler im Zusammenhang mit der Speicherausrichtung und diverse Firmware-Probleme getestet werden.

Zu Testzwecken können BREW-Anwendungen mithilfe eines USB- oder seriellen Kabels und des BREW App Loaders von Qualcomm auf jedes BREW-kompatible Mobiltelefon übertragen werden . Eine BREW-Anwendung besteht aus mehreren Komponenten, die, falls sie nicht vorhanden oder ungültig sind, dazu führen, dass die Anwendung beim Neustart automatisch gelöscht wird. Dazu gehören die kompilierte Binärdatei, eine Datei, die die Anwendung, ihre Funktionen und die angeforderten Berechtigungen beschreibt, eine Datei mit gegebenenfalls benötigten Zeichenketten- und Bildressourcen sowie eine Datei mit der digitalen Signatur der Anwendung.

BREW-Anwendungen können von einem Mobiltelefon entfernt werden, um Speicherplatz freizugeben. Dieser Vorgang wird als „Deaktivieren/Wiederherstellen“ bezeichnet und ist eine Voraussetzung für den True BREW-Testprozess. Gespeicherte Dateien bleiben beim Deaktivieren/Wiederherstellen erhalten, und die Anwendung kann erneut installiert werden, ohne dass dafür erneut bezahlt werden muss. Beim Deaktivieren werden alle .bar-, .mod- und .sig-Dateien vom Mobiltelefon gelöscht, während alle anderen Dateien an ihrem ursprünglichen Speicherort verbleiben. Beim Wiederherstellen werden die .bar-, .mod- und .sig-Dateien aus dem App Store des Mobilfunkanbieters heruntergeladen, und die zuvor deaktivierte Anwendung ist wieder voll funktionsfähig. Das Deaktivieren/Wiederherstellen steht Nutzern nur zur Verfügung, wenn der Speicherplatz des Mobiltelefons voll ist.

Am 28. Mai 2008 gaben Qualcomm und Adobe eine Partnerschaft zur Integration von Adobe Flash Lite als unterstützte Benutzeroberfläche in BREW bekannt.

Seit März 2006 kostet das günstigste Paket für digitale Signaturen für Entwickler 400 US-Dollar für 100 Anwendungseinreichungen. [ 2 ]

Auswirkungen auf das Geschäftsmodell/Verfügbarkeit

Streng genommen kann die Markteinführungszeit mit BREW länger sein als mit Java ME, da Qualcomms BREW strenge Zertifizierungsanforderungen stellt. Etablierte Softwareentwickler sehen diesen Zertifizierungsprozess möglicherweise als Vorteil, da die mit Tests und Entwicklungskosten verbundenen Schwierigkeiten für Entwickler mit geringem Budget und wenig Zeit einen hohen Einstiegspreis bedeuten und somit die Marktverwässerung verringern. Insbesondere Entwickler von Gelegenheitsspielen laufen weniger Gefahr, mit Freeware- Nachahmungen konkurrieren zu müssen , die von Hobbyisten entwickelt und selbst veröffentlicht werden. Dies geht jedoch zu Lasten des Endnutzers, da der Wettbewerb um die beste Lösung zum niedrigsten Preis geringer ist.

  • Nach der Entwicklung einer Anwendung dauert jeder Durchlauf des True BREW-Tests zwei Wochen (jedes Mal, wenn die Anwendung den Test nicht besteht).
  • Anschließend beginnen die Verhandlungen mit dem/den Spediteur(en).
  • Im Erfolgsfall wird der Netzbetreiber die Anwendung anschließend mit eigenen Tests in seinem Netzwerk erneut prüfen.
  • Letztendlich bedeutet die Veröffentlichung einer neuen Version, dass der Prozess von vorne beginnen muss.

Unterschiede zwischen Java ME und BREW

Aktuell unterstützen die meisten Entwickler entweder sowohl Java ME als auch BREW oder ausschließlich Java ME. Java ME ist möglicherweise kostengünstiger, da die meisten Mobilfunkanbieter auch nicht zertifizierte Java-ME-Anwendungen auf ihren Geräten zulassen. Java-ME-fähige Handys haben einen größeren Marktanteil als BREW-fähige Geräte. Java ME ist in Europa weit verbreitet, während BREW hauptsächlich in den USA und Japan zum Einsatz kommt. Ein anfänglicher Vorteil von BREW war, dass Verizon den Kauf von Anwendungen direkt über das Handy vereinfachte, was bei den meisten Java-ME-Anbietern nicht der Fall war. Mittlerweile bieten jedoch die meisten Anbieter von Java-ME-Handys benutzerfreundliche Kaufportale an.

Aufgrund seiner unterschiedlichen APIs nutzt Java ME die virtuelle Maschine von Java (interpreterbasierter Code), die technisch langsamer ist als BREW, welches natives C/C++ sowie direkten Hardwarezugriff (insbesondere für Spiele) verwendet. [ 3 ] Java ME verfügt über eine eingeschränkte Auswahl an APIs (sowohl für Anwendungen als auch für Spiele). Zwar sind APIs und Implementierungen von Drittanbietern verfügbar (wie z. B. MascotCapsule von HI CORPORATION (3D-Rendering-API) und DoJa / Star von NTT Docomo), diese sind jedoch außerhalb Japans nicht weit verbreitet und erfolgreich (insbesondere hinsichtlich der Geräteakzeptanz). BREW hingegen verwendet eigene APIs und direkten Hardwarezugriff.

Die Performance von Java ME-Anwendungen und -Spielen ist geringer als bei BREW. Für 3D-Spiele verwendet Java ME JSR 184 (M3G). Daher laufen 3D-Spiele, die auf Java ME entwickelt wurden, langsamer (was auf den meisten Mobiltelefonen zu 10 Bildern pro Sekunde führt) und bieten eine eingeschränkte Grafik. BREW hingegen nutzt entweder Software-Rendering (falls das BREW-fähige Mobiltelefon keinen 3D-Beschleunigungschip besitzt) oder OpenGL ES (dessen Performance es nutzen kann). [ 4 ]

Im Gegensatz zu Java ME führt ein Absturz der BREW-Anwendung zu einem Neustart des Telefons, da BREW den Absturz nicht abfangen und beheben kann. Stattdessen wird im Ordner „except“ im Stammverzeichnis eine Datei mit dem Inhalt „$SYS.EXCEPT_(4-stellige Zahl)“ erstellt, woraufhin das Telefon automatisch neu startet. Stürzt hingegen eine Java ME-Anwendung unter BREW ab, kann Java ME den Absturz korrekt abfangen und das Telefon vor einem Neustart bewahren.

Einige Handyhersteller erlauben die Integration der virtuellen Maschine von Java ME auf einigen ihrer Telefone nicht.

Mittlerweile gibt es kommerzielle Technologien, die die Portierung von Java ME nach BREW vollständig automatisieren. Dies senkt die Einstiegshürde für die Entwicklung von BREW-Anwendungen, da die Notwendigkeit entfällt, zwei Versionen derselben Anwendung in Java und C/C++ zu entwickeln.

Systemausfall

Ein Systemausfall in BREW wird durch fehlerhafte Komponenten, fehlende Anwendungsdateien, Anwendungsabstürze oder andere Fehler verursacht. Dabei wird die Datei „$SYS.EXCEPT_XXXX“ im Ordner „except“ im Stammverzeichnis erstellt. Es gibt zwei Arten von Systemausfällen in BREW: Komponentenfehler und Systemabstürze.

Komponentenfehler (example.c XXXXX)

BREW 2.0.2 Komponentenfehler auf dem Samsung SCH-S399
$SYS.EXCEPT_0002 ist von dem Komponentenfehler in Notepad betroffen

Ein Komponentenfehler äußert sich durch einen schwarzen, weißen oder blauen Bildschirm mit einer Fehlermeldung für etwa 5 Sekunden, wenn eine Komponente nicht mehr ordnungsgemäß funktioniert. Anschließend startet das Telefon automatisch neu. Die Art des Fehlers kann je nach Ihren Aktivitäten variieren, zum Beispiel:

  • fs_dir.c (Dateisystemfehler)
  • mdsptask.c (Aufgabenfehler)
  • oemheap3x.c (Heap-Verletzung)
  • memory.c (Speicherbeschädigung)
  • nvm.c (NVM-Prüfungsverletzung)
  • srch_mdsp.c (Indexierungsfehler)
  • callheap.c (Aufruffehler)

Die Wahrscheinlichkeit für das Auftreten dieser Variante ist sehr gering, da ein Neustart des Systems häufiger vorkommt. Hier ein Beispiel für Aktivitäten, die diese Variante auslösen können:

  • Das Untervolten des Telefons während des Betriebs führt zu Speicherbeschädigungen (normalerweise, wenn der Akku fast leer ist; bei modernen Geräten wurde ein Unterspannungsschutz hinzugefügt) (z. B. LG VX10, [ 5 ] LG VX4400, [ 6 ] und LG PM225).
  • Das Telefon ist defekt. Normalerweise führt dies zu einem Neustart, anstatt eine Fehlermeldung anzuzeigen.
  • Der Ordner "brew", "nvm" oder ".efs_private" wurde entfernt. (fs_dir.c oder nvm.c)

Neustart des Todes

$SYS.EXCEPT_0003, das vom Neustart des Todes in Notepad betroffen ist, enthält einige zufällige Zeichen.

Ein „Reboot of Death“ ist ein Fehler, der das Telefon automatisch neu startet, anstatt einen schwarzen, weißen oder blauen Bildschirm mit Text anzuzeigen. Diese Variante tritt zwar selten auf, ist aber deutlich häufiger. Hier ein Beispiel für Aktivitäten, die diese Variante auslösen können:

  • Eine Anwendung stürzt ab.
  • Die R-UIM-Karte wird entfernt.
  • Das Telefon ist defekt.
  • Falsche Eingabe eines SP-Codes.
  • Die Anwendung, die Dateien benötigt, fehlt.
  • Ausführen des Ausnahmetests im Entwicklungsmodus.

Gerätenutzung und Verfügbarkeit des Mobilfunkanbieters

BREW 3.1.4 - 4.0.2 App Manager (2005–2012) (z. B. Zeebo, Samsung SCH-R351 Freeform, LG Voyager VX10000 und einige CDMA-Mobiltelefone. Einschließlich BREW SDKs)

Qualcomm BREW wird von einigen Mobiltelefonherstellern und Mobilfunknetzen eingesetzt. Meistens bemerkt der Endnutzer dies jedoch nicht, da Mobiltelefone mit BREW in der Regel kein Qualcomm-BREW-Branding tragen und BREW im Hintergrund unter der Benutzeroberfläche des jeweiligen Herstellers oder Betreibers läuft. Qualcomm BREW wird unter anderem von Sprint Nextel , metroPCS , US Cellular , Verizon , Syringa Wireless , Cricket Wireless und AT&T (im HTC Freestyle) in den USA , von KDDI in Japan, von KT und SK Telecom in Südkorea, von China Telecom in China , von MOVILNET und BellSouth Chile in Lateinamerika , von Sistema Shyam (jetzt MTS) in Indien sowie vom 3- Netzwerk in weiten Teilen Europas , Großbritannien und Australien auf vielen speziell für dieses Netzwerk produzierten Mobiltelefonen verwendet.

Da BREW nur ​​Mobilfunknetzen angeboten wird, die im CDMA-Netz arbeiten, verfügen andere Länder (mit Ausnahme von Teilen Europas , Großbritannien und Australien über das 3- Netz, Indien, Japan und China) nicht über BREW, da sie keine CDMA-Netze haben.

Hersteller wie Huawei , INQ Mobile , Amoi , LG , Samsung Mobile , ZTE und HTC nutzen unter anderem Qualcomm BREW in einigen ihrer Mobiltelefone. Es kommt beispielsweise in drei britischen Modellen zum Einsatz: dem 3 Skypephone , dem INQ1 , dem ZTE Z431 und dem Huawei U7510 (3 Touch). Die Zeebo von Tectoy ist die einzige Spielekonsole, die BREW verwendet. Auch Motorolas T720 und das RAZR V3m nutzen Qualcomm BREW.

Siehe auch

Referenzen

  1. ^ SDK & Tools | Brew MP Developer (Veralteter Link , archiviert am 17.12.2012 auf archive.today ). Developer.brewmp.com. Abgerufen am 21.07.2013.
  2. ^ Code-Signaturzertifikate für authentische Dokument-IDs für BREW – Digitale Signaturen | Symantec. Archiviert am 5. Februar 2009 in der Wayback Machine . Verisign.com. Abgerufen am 21. Juli 2013.
  3. ^ „Die Wahl zwischen J2ME und BREW für die drahtlose Entwicklung – TechRepublic“ . TechRepublic . Abgerufen am 21.06.2017 .
  4. ^ „Vergleichen Sie die grafischen Unterschiede zwischen Java- und BREW-Spielen“ . Pocket Gamer . Abgerufen am 21.06.2017 .
  5. ^ Steven's Phones (14. Juli 2019). „LG VX10 – Wenn der Akku WIRKLICH fast leer ist“ . YouTube . Abgerufen am 4. Oktober 2022 .
  6. ^ Steven's Phones (14. Juli 2019). „LG VX4400 – Wenn der Akku WIRKLICH fast leer ist“ . YouTube . Abgerufen am 4. Oktober 2022 .