2016-11-10 3 views
0

Wir sind die Software-Entwicklungsabteilung eines Unternehmens, das industrielle Geräte herstellt, und wir haben einige Samsung Galaxy-Tab 4-Tablets, die wir als "Fernbedienungen" für die Fertigungsanlagen verwenden, mit einer App, die wir selbst für diesen Zweck geschrieben und direkt installiert haben von Android Studio. Diese App wird nicht an andere Geräte verteilt. Wir haben diese Tablets direkt bei Samsung gekauft, d. H. Es ist keine Telefongesellschaft oder kein gewöhnlicher Carrier beteiligt. Diese Tablets sind nicht bei Google registriert, d. H. Ihnen ist kein Google Mail-Konto zugeordnet. Tatsächlich können wir nicht einmal mit ihnen auf Google Play zugreifen. Ich habe diese Tablets selbst ausgepackt und nie bei Google oder Samsung registriert.Programmatisch Android OS-Upgrades deaktivieren?

So war ich überrascht, als ich heute Morgen kam und sah eine Nachricht auf dem Bildschirm von einem, dass ein geplantes Software-Update heruntergeladen wurde und bereit war zu gehen. Es sagt, es ist 876,87 MB und es möchte ein OS-Upgrade auf Lollipop machen.

Ich habe keine Ahnung, woher das Upgrade kommt oder wie es initiiert wird. Meine Sorge ist, dass, wenn dies auf einer Kundenseite oder einer Messe passiert, ein unerwartetes Upgrade unsere Software beschädigen oder anderen Unfug verursachen könnte. Gibt es eine Möglichkeit, Softwareupgrades programmgesteuert zu deaktivieren?

+0

Wenn Ihr Produkt sowohl an Hardware als auch an Software gebunden ist, sollten Sie das Android OS wahrscheinlich vor dem Verkauf auf das Tablet legen. Apps sind Sandboxed und können nur auf ihre eigenen Sachen zugreifen und sind ziemlich dumm, wenn es um Dinge außerhalb dieser Sandbox (das OS) geht. In den meisten Fällen sollte ein Update Ihre App nicht beschädigen, wenn es sich dann wahrscheinlich um die Softwarequalität handelt, die Sie an Kunden verkaufen. Ihre andere Option besteht darin, automatische Updates auf den Tablets einfach zu deaktivieren, bevor Sie sie an Kunden senden. – CodyEngel

+0

Ich weiß nicht, was das bedeutet. ("Fork the OS"?) Wir bauen unser eigenes Betriebssystem nicht aus dem Quellcode (und haben nicht die Ressourcen, um OS-Entwickler zu werden). Dies ist das Standard-OS, das auf diesen kam, nicht irgendein benutzerdefiniertes Schwarzmarkt-OS unbekannter Herkunft. Auch verkaufen wir das nicht an Kunden - es wird auf Messen und von Außendiensttechnikern verwendet. – user316117

+0

"Ich habe keine Ahnung, woher das Upgrade kommt" - Google, über Samsung, über Ihre Netzwerkverbindung. "Wie es initiiert wird" - das Gerät sucht regelmäßig nach Updates. "Gibt es eine Möglichkeit, Softwareupgrades programmatisch zu deaktivieren?" - es sei denn, es gibt etwas in den Geräte-Besitzer-APIs, die ich nicht sehe, dann nein. – CommonsWare

Antwort

0

Als App-Entwickler können Sie Firmware-Upgrades nicht steuern. Sie kommen entweder vom Träger, oder wenn es ein Wi-Fi-Tablet ist, der Hersteller.

Ihre einzige Option ist die Steuerung der Firmware. Das bedeutet, dass Sie Ihre eigene Firmware für die von Ihnen gewählte Hardware erstellen. Sie können dann den Firmware-Update-Zeitplan deaktivieren (oder anderweitig kontrollieren)/Änderungen an der Firmware vornehmen.

Der Besitz der Firmware ist eine sehr große Sache im Vergleich zum Bereitstellen einer App.

0

Ich war überrascht, als ich heute Morgen kam und einen Hinweis auf dem Bildschirm sah man, dass eine geplante Software-Update

als Software-Entwickler ich nicht Ihre Überraschung verstehen. Es ist eine sehr gut bekannt (und oft kritisiert Merkmal aufgrund des langsamen/verzögerten Roll-out) Funktion des OS

Ich habe keine Ahnung, wo das Upgrade herkommt, wie es begonnen

Diejenigen kommen vom Gerätehersteller (du sagtest Samsung, oder?) und brauchst keinen Login oder Account irgendwelcher Art. Es ist irgendwo tief im Betriebssystem codiert, um den Herstellerserver auf Updates zu überprüfen. Das Gleiche passiert mit Windows, Mac OS, Linux oder iOS.

Es gibt absolut nichts, was eine App tun kann, um das Betriebssystem-Update aus Sicht der API zu deaktivieren. Dies wäre eine große Sicherheitslücke. Man kann sich leicht vorstellen, dass eine bösartige App eine bekannte OS-Sicherheitslücke ausnutzt und das Betriebssystem durch das Update selbst blockiert, das die Sicherheitslücke schließt.

mögliche Lösungen für Ihren Fall

Neben Ihre eigenen OS von der Erstellung des Prozesses der einzig mögliche Weg zu steuern, die ich mir vorstellen kann, Ihre eigenen VPN-Server blockiert den Update-Server ist Host (oder Blockiert das gesamte Internet (erwarte die Ressourcen, auf die du von deiner App aus zugreifen möchtest) und konfiguriere das Gerät für dieses VPN unter Settings -> WiFi.

ps.: Ich sah die erwähnte link und ich würde davon abraten, Systemdienste zu deaktivieren (oder zumindest testen Sie A LOT, nachdem Sie es deaktivieren), weil das andere Probleme verursachen könnte.

Verwandte Themen