您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
三星S3/S4高階修改技巧
來源: 日期:2013-11-1 14:21:53 人氣:標簽:
1.關(guān)閉滾動緩存使系統(tǒng)滑動過度更加平滑
對于三星gt-i9300來說,1gb的ram空間確實有些吃緊,特別是在手機長時間運行或者是剛剛退出大型程序后,系統(tǒng)會出現(xiàn)十分明顯的卡頓。其實出現(xiàn)這種情況,并不是系統(tǒng)本身出現(xiàn)故障,而是官方系統(tǒng)的“滾動緩存”造成的:系統(tǒng)在長時間運行后會在ram中保存一些滾動緩存,所以我們可以關(guān)閉滾動緩存,讓界面滑動更加平滑流暢。
關(guān)閉系統(tǒng)頁面滾動緩存的方法比較簡單,首先將下載好的官方rom解壓,然后在系統(tǒng)目錄“system/framework/”中找到文件“framework2.jar”按照我們第一期介紹的反編譯方法,對其進行反編譯操作。
編譯成功在“framework2\smali_classes\android\widget\”目錄中找到文件“\abslistview.smali”然后利用notepad++打開文件。搜索“createscrollingcache”,然后將后面的值“const/4 v1,0x1”改為“const/4 v1, 0x0”。接著繼續(xù)搜索“isscrollingcacheenabled”,然后在第6行和第7行的代碼中找到值“iget-boolean v0, p0, landroid/widget/abslistview;->mscrollingcacheenabled:z”,并將它改為“const/4 v0, 0x0”。 后搜索“setscrollingcacheenabled”將代碼“parameter "enabled"”中的“enabled”改為“disabled”, 后將修改后的文件保存再重新編譯即可。
2.關(guān)閉s4媒體掃描讓系統(tǒng)更加節(jié)電
三星的官方系統(tǒng)從android 4.1.2版本開始,就一直存在媒體掃描耗電嚴重的情況,這是因為當系統(tǒng)檢測到手機插有外置tf卡后,每次開機都會自動對tf卡中的媒體文件進行掃描,這樣會造成大量的非正常耗電。我們同樣可以通過系統(tǒng)反編譯,手動關(guān)閉雞肋的媒體掃描功能。
將下載好的官方rom解壓,然后在系統(tǒng)目錄“system/framework/”中找到文件“framework2.jar”,將其反編譯后用notepad++打開編譯文件。搜索“method private isdrmenabled()z”,然后找到line代碼,9500是“line1829”,在line代碼后加入 “const/4 v0, 0x0”,同時將下一行代碼“iput-boolean v2, p0”中的v2改為v0,保存完成后進行編譯,這樣我們就手動關(guān)閉了媒體掃描功能。
3.修改代碼,讓撥號程序“秒開”
三星s3的官方系統(tǒng)從升級到android 4.1.2后,撥號程序有一個非常大的問題,當手機首次運行撥號程序時,打開程序會有3秒左右的延時。而進行系統(tǒng)ram清理后,打開撥號程序同樣會有幾秒鐘的延時,這樣很多用戶難以適應,畢竟電話功能是手機的基本屬性,經(jīng)常卡頓的確讓人受不了。
出現(xiàn)這種情況的原因,是因為新系統(tǒng)的進程管理機制出現(xiàn)的改變。我們可以通過修改系統(tǒng)代碼,來實現(xiàn)撥號程序常駐內(nèi)存,這樣再打開撥號程序時就不會出現(xiàn)延時了。
要修改撥號程序代碼,首先按我們上期介紹過的方法破解三星的官方簽名。然后在系統(tǒng)apk文件夾中找到“seccontacts.apk”文件,將其反編譯后在目錄中找到“androidmanifest.xml”文件,用notepad++打開后,在application標簽 “android:name="com.android.contacts.contactsapplication”后添加代碼“android:persistent="true"”保存并重新編譯即可。修改后就可以讓撥號程序常駐內(nèi)存(ram),這樣撥號程序就不會在開啟時出現(xiàn)延時情況了。
@sniperhg
無名團隊(n-team)三星分隊隊員
論壇認證:機鋒論壇s4版塊版主
技術(shù)強項:mod修改,java程序編寫
微博:http://weibo.com/u/2414142072
擁有機型:三星s4,htc one,htc onex
經(jīng)典rom作品:第二屆機鋒rom大賽參賽作品
大神技巧:利用java語言添加功能開關(guān)
不管是官方rom還是我們自己修改的第三方rom,它的目的都是想給用戶帶來良好的體驗。但是不同的用戶對系統(tǒng)功能有不同的喜好,同樣一個個性化功能,有的用戶想要打開,有的卻又想把功能關(guān)閉,但是如果能在系統(tǒng)設(shè)置項中加入專門的開關(guān),讓個性化功能可以自由開關(guān)就會方便許多了。
但是在設(shè)置項中添加功能開關(guān)的操作比較復雜,在修改代碼時必須要用到j(luò)ava語言,而且要確認系統(tǒng)中已經(jīng)安裝java環(huán)境。這里以在設(shè)置中添加“允許壁紙滾動”開關(guān)為例,告訴訴大家具體的修改方法。
1.改變程序界面布局,定義開關(guān)選項
注意:在進行具體操作時除了掌握反編譯操作之外,還要對android程序的結(jié)構(gòu)有一定的了解,所以這里并不建議新手操作,而且在修改前一定要做好備份。
要在系統(tǒng)設(shè)置中加入功能開關(guān),首先要編譯“secsettings.apk”文件,該文件存放在系統(tǒng)apk文件夾中。進行反編譯操作后,在xml目錄中找到“preferenceactivity”和“preferencefragment”兩個布局文件,這兩個文件對應手機設(shè)置項中的“設(shè)置-我的設(shè)備-顯示”選項。然后在xml目錄中找到“display_settings.xml”文件,用notepad++打開文件并在 上面加入代碼“<checkboxpreference android:title="@string/sniperhg_scrollwallpaper_string" android:key="sniperhg_scrollwallpaper"android:widgetlayout="@touchwiz:layout/preference_widget_twcheckbox" />”。接下來我們要在語言文件中加入字符代碼,首先將“sniperhg_scrollwallpaper_string”字符串添加到“strings.xml”文件中,然后在資源文件夾里對應的目錄里(因為是中文系統(tǒng),所以目錄為values-zh-rcn)的strings.xml里加入“<string name="sniperhg_scrollwallpaper_string">允許壁紙滾動</string>”。這里我們完成對程序界面布局的改變。
如圖我們在設(shè)置中加入了開關(guān)選項“允許壁紙滾動”
2.為控制開關(guān)添加具體功能
我們接下來要對這個開關(guān)進行控制,還需要修改對應的smali文件,讓其響應我們設(shè)置的應開關(guān)功能。在反編譯后的secsettings.apk”文件夾中,找到displaysettings.smali文件,并用notepad++打開,然后搜索函數(shù)“.method public onpreferencechange”,并加入代碼“android:key="sniperhg_scrollwallpaper” ,然后從http://go.icpcw.com/c/36app.htm下載“代碼.rar”,解壓后找到“smail代碼.txt”,并把其中的內(nèi)容加入文件中。
secsettings.apk我們處理完畢了,但是真正實現(xiàn)桌面壁紙滾動的代碼并不存在于這個apk里,而是在三星的touchwiz啟動器seclauncher3.apk里。修改后我們就可以通過改變數(shù)值來判斷壁紙十分滾動,修改contentobserver就可以發(fā)揮作用了。
反編譯secsettings.apk后,我們要修改workspace值,為其添加一個內(nèi)部分類,這個分類的作用就是動態(tài)創(chuàng)建一個contentobserver來控制監(jiān)聽sniperhg_scrollwallpaper這個值的變化,具體代碼在“代碼.rar”中的“修改workspace值.txt”文件中。
上面的代碼的意思是動態(tài)創(chuàng)建一個contentobserver來控制監(jiān)聽“sniperhg_scrollwallpaper”的值,一旦發(fā)生變化就調(diào)用主類里的方法“updatesetting”來控制功能是否激活。這個方法的代碼在“代碼.rar”中的“控制激活.txt”中可以查看。
后我們需要對contentobserve進行注冊,只需要在workspace這個分類開始的地方加入代碼“new settingsobserver(new handler()).observe();”即可完成注冊。
這樣我們將反編譯后的apk重新編譯,并用“廚房”工具將rom重新打包,重新刷機即可在設(shè)置中看到我們自己定制的個性開關(guān)。掌握了這個方法,我們就可以在系統(tǒng)中自由設(shè)置自己需要的功能開關(guān)了。
【看看這篇文章在百度的收錄情況】
相關(guān)文章
- 上一篇: 淺析手機信號人腦吸收率
- 下一篇: Nexus 7二代 照樣用U盤