在Android系統下有沒有可能開發出類似Windows里「驅動精靈」這樣的應用程序?

在Android下有沒有可能開發出這樣的應用程序?

好比你在普通筆記本電腦上安裝好全新的Windows操作系統後,需要安裝驅動,這個時候像類似」驅動精靈「一般的軟體就可以通過網路自動匹配安裝相對應的驅動程序,從而使你的觸控板、藍牙、刻錄機等設備能正常使用。

那麼有沒有可能在Android下也實現這樣的功能?比如在官方不支持Android系統的平板電腦或手機上,成功刷 Android原生3.0 ,再通過某個應用程序安裝」驅動「或修改原生Android從而使其能兼容並完美運行在這個設備上?


感覺還沒有人答到點上。

win和linux/android驅動我都做過,可能有點發言權。首先因為題主問的是android所以下面假定題主指的都是嵌入式場景。因為桌面linux版本可以達到題主的要求的。

技術上肯定是可以的,但是目前實際操作很困難。

win是微內核的根據實際情況動態載入模塊。linux是宏內核,把所有的模塊都編程一個大bin。linux也支持動態載入內核模塊。雖然一般的發行版本會打開模塊檢驗功能導致第三方的模塊無法載入,但是這個功能是可以關上的。所以說技術上肯定是可行的。

為什麼很困難呢?

介面不容易統一。我們假設伺服器只要知道硬體信息就能找到驅動。以lcd的驅動為例,要想實現驅動的自動裝載,首先要能知道這個lcd使用的驅動晶元,這就需要一個標準,讓cpu能夠讀出晶元的id,還要保證id不能重複。這個標準目前是沒有的,即使有,這個屏用的是哪家的模組照樣不知道。最重要的,這個主板的bom可能同時用了四個廠家的lcd模組,通過兩個gpio自動識別,想知道這個,也需要標準。

win是怎麼做到的?因為微軟牛逼啊。一方面和器件廠商說要想我大win支持,就得遵守我的規範,還得拿過來做認證!你自己寫驅動我就給用戶提示你這破東西不受信任。另一方面,和bsp廠商說你用的什麼破模組的什麼破參數我懶的管,自己在uefi里解決,給我內核提供標準介面!

台式機是怎麼做到的?首先台式機因為夠大而且確實標準化做的更好,像上面的那種參數就直接存到顯示器里了,還能向用戶提供豐富的設置界面。嵌入式器件現在也有類似這種帶opt的產品不過成本比較高。反觀台式機顯示器,因為必須遵守標準,所以成本高也的得忍著。

再吐個槽,因為linux開源,導致很多廠家為了方便把不該放進內核的也放進去了。另一方面,因為gpl協議病毒式的傳播,又導致很多廠家想方設法不把東西放到內核裡面。如果放到用戶空間可能還得改selinux一堆東西,很麻煩而且有點混亂。

win這點做的好,各種標準。什麼東西該放哪,即使沒有規定,也能順著設計思想猜到。而且win的驅動有很多層次方面設計,很多驅動根本不用動到內核。


不能。因為沒有驅動,就不會「成功刷 Android原生3.0「,也就不會有後面的機會讓你運行」驅動精靈「。PC上能那麼做,是因為Windows裡面已經帶了無數驅動,你剛裝上的時候就會有個驅動把設備先架起來。移動OS不會帶多餘驅動,所以刷不上。


不會的,你指的驅動已經不屬於Android應用層了,屬於底層(可以參照Android4層架構)。


應該不會,android一般驅動都在底層,不能亂動,不然就會變磚。


實際上……似乎就算有也沒有太大的意義。因為底層一改就是整個系統的改,應用沒辦法這麼干還得掛Rec上。 然後

喵的這不就是系統更新嗎?

ヘ(_ _ヘ)

只要實現對rom的識別和安裝

喵的這不就是Recovery嗎?

華為emotionUi2的時候就是兩周更新一點東西,有時候功能有時候驅動層面的東西,天天刷…MIUI沒用過不發言…


android底層實現各家都不一樣,如果要換驅動,最好是拿到源碼和工具鏈,自己直接修改編譯,然後替換原來的驅動即可。


Windows尺寸越來越大是因為它帶了巨量的兼容驅動,實際上這套兼容驅動支撐起了系統。如果願意將一個rom包做到3-4Gib是有可能實現的


如果只是問技術上有沒有可能。答案是肯定的。可以做。

但是,但是以前基本沒有人這麼做。原因大概有:

1. 硬體能力有限,cpu,ram,flash等;

2. 硬體模塊/介面高度定製化,從硬體上你就沒有辦法換;

現在谷歌在做的一個"手機"項目(具體名字忘記了),就是把手機的主要模塊獨立出來,定製標準介面。然後讓其他廠家做配件。想升級攝像頭就買個攝像頭模塊回來,直接扣上去,開機,就可以用了。

下車了,等會兒再說說技術實現。

前提是各家廠商針對不同的Android版本(準確的說是linux)開發出驅動程序。

然後分兩種情況:

1. 有root許可權,直接寫開機腳本載入驅動程序;

2. 沒有root許可權,需要手機廠商提供一個應用層的載入驅動程序。

就是這樣,技術上沒有多大難度。主要還是前面提到的一些局限,不過這種局限以後就很小了。


關鍵是沒有需求啊 一個包不行 直接換個包刷就好了


台式機可以這麼方便地裝驅動是建立在ISA的基礎上的,手機上沒這種條件


題主你以為 Windows 那麼大的安裝文件里都是什麼?

WindowsSystem32DriverStore 看看吧


刷上去屏幕都不能用。 怎麼刷驅動進去


就是系統的更新啊!!


你指的是什麼驅動?是手機本身需要的驅動嗎?驅動應該是在底層的c源碼部分做的吧


推薦閱讀:

Windows滑鼠屬性里「提高指針精確度」的功能是怎麼工作的?
為什麼有些人要鄙視 Mac 裝 Windows 呢?
幾個 G 大的 Windows 操作系統純代碼核心部分有多大?
Windows 系統下最好用的 Python 文本編輯器是哪一個?為什麼?
32 位 Windows 系統是否能夠使用 4GB 及以上的內存?

TAG:MicrosoftWindows | Android應用 | Android開發 | Android | 驅動精靈 | 驅動程序 |