對于Android 4系統,如果有產品固件的修改工具和量產工具,可以通過修改幾個簡單的設定,獲得root權限,并對系統做個性化定制修改。
首先找到位于系統根目錄下的default.prop特性設定文件。這是一個文本文件,其中有幾項設定的變更,可以改變設備與PC機連接以后的狀態。
1. 允許做 Debug 工作:ro.debuggable=1 允許對產品做 debug 工作;前提是有可以 debug 的途徑。一般系統是通過 USB_ADB 途徑,或者通過內部的 SerialPort/BluetoothPort的設定,使得PC與設備關聯,從而進行 Debug 操作,獲取設備端的信息。
2, 對于USB端口的配置:將persist.sys.usb.config=mass_storage,adb并且添加persist.service.adb.enable=1,使得設備開機后默認打開 USB調試模式。
注意:如果把位于/system下的build.prop中的persist.sys.usb.config配置為adb,則系統中看不到U盤。因此默認設置為mass_storage模式。
3. root權限的獲得:ro.secure=1時,系統默認的調試用戶是Shell用戶,如果設置ro.secure=0,則默認的調試用戶是root用戶。此時通過無論哪種PC 端的root工具與設備相連, 都 會檢查到設備已經Root的結果。如果想讓設備獲得永久的root權限,可以在此狀態下運行PC端的root工具,將Root權限管理工具安裝到設備上, 以便對后續其它APK的運行權限進行管理,這就是SuperUser工具包。如果不按照root工具包,則只能通過ADB調試模式獲得root權限,通過 調試端口對設備進行控制。
4. 系統默認語言和時區的設置:在build.prop中,其中ro.product.locale.language = zh,ro.product.locale.region = CN就可以將系統的默認語言設定為中國中文簡體,其中zh是文字編碼方式,CN是區域代碼。通過修改default.prop中persist.sys.timezone=Asia/Shanghai,則可以將系統默認的時區修改為UTC+8:00(中國標準時間,上海重慶北京)。這樣就不需要開機后再次設置語言和時區了。
另外,系統的默認時間格式修改,在build.prop中修改:ro.com.android.dateformat=yyyy-MM-dd,則修改為2014-11-26這樣的日期格式。如果是歐洲時間,則默認為MM-dd-yyyy的形式。
5. 開機時是否顯示初始設置向導:在default.prop中,ro.setupwizard.mode=DISABLE禁止在開機首次啟動后顯示設置向 導,當然還有ENABLE和OPTIONAL這兩個選項可用。不過,即使禁用了開機向導,在升級完成后的首次啟動后,盡快進入應用程序列表界面中,會提示 用戶做首次開機重啟。建議盡快完成此次開機重啟,否則如果突然斷電,系統再次啟動時,前面的所有設置將會丟失。
6. 開機后省電的配置:在default.prop中,wifi.supplicant_scan_interval=120,指系統開機工作并且打開Wifi開關后,自動掃描wifi信號的周期,單位是秒。這個配置是每2分鐘掃描一次周圍Wifi信號的變化。這個值變小將會加快對信號的掃描頻率,但是會增加系統耗電。
7. 默認的照片存放位置:在Build.prop中ro.camera.dcim=2,這里有0,1,2可選。0是內置SD卡,1外置SD卡,2是優先外置后內置。文件位置都在/mnt/sdcard/DCIM或/mnt/ex_card/DCIM下,不同的系統中,這個文件夾的位置可能會有變化。
8. build.prop中的其它配置
ro.wifi.modules = MT6620 #Wifi模組的型號 ro.settings.support.ethernet=true #是否支持有線網絡,前提是系統中編譯有有線網絡的驅動。
ro.settings.mobilenetworks=false #是否支持電話功能
ro.settings.phonestatus=false #是否支持電話
ro.customer.3glist=0 #都支持那些3G網絡。
等。
9. build.prop中產品的名稱和版本特性修改(#號代表是注視,自動忽略)。這里以 Moto MT788 的4.1.2升級包為例:
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=IRPMTD_6_02.89.00RPS #這個信息要保留,防止匹配硬件出錯。
ro.build.version.incremental=eng.ZYC.20130503.025416 #這個是開發者的信息和編譯時間日期信息。
ro.build.version.sdk=16
ro.build.version.codename=REL
ro.build.version.release=4.1.2
ro.build.date=Fri May 3 02:56:56 EDT 2013
ro.build.date.utc=1367564216 #UTC格式的日期和時間
ro.build.type=user #編譯類型,user or userdebug模式。在產品release之前,一般設定為 user模式,再做完整測試。因權限問題,user模式下可能會出現在debug模式下不存在的問題。
ro.build.user=ZYC
ro.build.host=root
ro.build.tags=release-keys
ro.product.model=MT788
ro.product.brand=motorola
ro.product.name=MT788_td
ro.product.device=ironprimetd_td
ro.product.board=mfld
ro.product.cpu.abi=x86 #CPU的類型,需要使用x86對于那個的影像包。
ro.product.manufacturer=MOT
ro.product.locale.language=zh
ro.product.locale.region=CN
ro.wifi.channels=
ro.board.platform=mrst
# ro.build.product is obsolete; use ro.product.device
ro.build.product=MOT-MT788_CN
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=mfld_pr2-user 4.1.2 JZO54K eng.ZYC.20130503.025416 release-keys
ro.build.fingerprint=motorola/MT788_td/ironprimetd_td:4.1.2/IRPMTD_6_02.89.00RPS/eng.20130503:user/release-keys
ro.build.characteristics=default
# end build properties
ro.settings.config.hdmi=off #是否默認打開 HDMI輸出功能,這樣可以通過 HDMI輸出,在機頂盒中為默認設置。
ro.soundrecorder.format=amr #默認的錄音文件格式
ro.systemui.volumekey=enable #在默認的啟動器節目上是否顯示音量大小軟按鍵。
ro.systemui.capture=enable #是否在主界面上顯示屏幕截圖按鈕。
USB的設置:
ro.product.usbdevice.VID=18d6 #VID和PID,16進制格式。ro.product.usbdevice.PID=fffe
ro.product.mtpdevice.PID=4e41 #MTP設備的PID和PTP設備的PID
ro.product.ptpdevice.PID=4e43
在關機界面上是否顯示進入恢復模式、飛行模式和重啟的選項:
ro.shutmenu.recovery=disable
ro.shutmenu.planemode=disable
ro.shutmenu.restart=enable
USB設備的公司名稱,設備名等
ro.usb.descriptor=xxxxx,SSSSard,3.00
ro.usbdevice.volumelabel=TESTUSD
使用adb devices命令時,顯示的device號碼:
ro.serialno=4512482adf0feeee
是否使用quickboot方式啟動
ro.config.quickboot = 0
另 外:關于讓Windows系統自動通過adb連接設備的方法。使用默認的android驅動,在Windows的當前用戶主目錄下,有一 個.Android的目錄,在其中有一個 adb_usb.ini文件,其中標示了系統會自動識別的 adb 設備的 VID數值。每行一個VID即可。這樣在設備與系統連接后,使用 adb 則會自動連接設備。可以使用 adb devices 看到連接的結果。
使用Android 系統工作時,還是有很多的問題,需要不斷的累計經驗,才能熟練應用。
|