2016-11-10 155 views
0

我們是生產工業設備的公司的軟件開發部門,我們使用我們爲此目的編寫的應用程序,並直接安裝了一些我們用作製造設備「遙控器」的三星Galaxy-Tab 4平板電腦來自Android Studio。此應用不分發給其他設備。我們在網上購買這些平板電腦,從三星開箱即用,即沒有涉及電話公司或共同運營商。這些平板電腦未向Google註冊,即沒有與其關聯的Gmail帳戶;實際上我們甚至無法訪問Google Play。我自己拆開這些平板電腦,並且從未將它們與Google或三星註冊過。以編程方式禁用Android操作系統升級?

所以我很驚訝,當我今天上午來到,看到一個預定的軟件更新已下載並準備就緒的屏幕上的通知。它說它是876.87 MB,它想要升級到棒棒糖。

我不知道升級來自何處或如何啓動。我擔心的是,如果這發生在客戶現場或貿易展會上,意外的升級可能會破壞我們的軟件或導致其他惡作劇。 有沒有辦法以編程方式禁用軟件升級?

+0

如果您的產品與硬件和軟件都綁在一起,那麼您應該先銷售Android操作系統,然後再銷售它們。應用程序是沙盒,只能訪問他們自己的東西,並且在涉及沙箱(OS)之外的東西時非常愚蠢。 在大多數情況下,更新不應該損壞您的應用程序,如果確實如此,則可能會查看您向客戶銷售的軟件質量。 您的其他選擇是僅在平板電腦發送給客戶之前禁用平板電腦上的自動更新。 – CodyEngel

+0

我不知道這是什麼意思。 (「分叉操作系統」?)我們不是從源代碼構建我們自己的操作系統(並且沒有資源成爲操作系統開發人員)。這是來自這些的股票操作系統,而不是一些來源不明的定製黑市操作系統。另外,我們不會將此出售給客戶 - 它在貿易展會和現場工程師中使用。 – user316117

+0

「我不知道升級來自哪裏」 - 谷歌,通過三星,通過您的網絡連接。 「它是如何啓動的」 - 設備會定期檢查更新。 「有沒有辦法以編程方式禁用軟件升級?」 - 除非設備所有者API中有某些我沒有看到的東西,那麼不會。 – CommonsWare

回答

0

作爲一名應用程序開發人員,您無法控制固件升級。他們來自運營商,或者如果它是一個Wi-Fi平板電腦,製造商。

您唯一的選擇是控制固件。這意味着要爲您選擇的硬件構建您自己的Android固件。然後,您可以禁用(或以其他方式控制)固件更新計劃/過程,從而對固件進行更改。

與部署應用程序相比,擁有固件是非常重要的。

0

我很驚訝,當我來到這個早上,看到一個計劃軟件更新

的軟件開發人員,我不能明白你驚喜的屏幕上的通知。這是操作系統的一個非常著名的(並且經常批評由於緩慢的功能/延遲推出)功能

我不知道在哪裏升級是來自或它是如何開始

那些來從設備製造商(你說三星,對吧?),並不需要任何類型的登錄或帳戶。它被編碼到操作系統內部的某處,以檢查製造商服務器的更新。與Windows,Mac OS,Linux或iOS相同。

從API的角度來看,應用程序絕對沒有辦法阻止操作系統更新。這將是一個重大的安全漏洞。可以輕易想象一個惡意應用程序利用已知的操作系統漏洞並阻止操作系統自身進行更新,從而修復該漏洞。

爲你的情況

除了創建自己的自定義操作系統控制的過程中,我能想到的唯一可能的方式,是舉辦自己的VPN服務器模塊更新服務器可能的解決方案(或阻止整個互聯網期望你想從你的應用程序訪問的資源),並配置設備到這個VPN下Settings -> WiFi

ps。:我看到提到的link,我建議不要禁用系統服務(或者至少在你打開它之後測試一下LOT),因爲這可能會導致其他問題。