優化Android手機的GPS定位系統,加速搜星,定位準確
阿新 • • 發佈:2019-02-12
雖然是轉載的技術貼,但是也經過本人親測,效果比較滿意。同時我還登陸了http://www.pool.ntp.org/zone/cn網站進行查閱。大家有興趣的話可以用谷歌的網頁翻譯進去看看,都中文,能看懂的。呵呵,同時,我還把自己的膝上型電腦的時間同步也進行了更改。大家可以試試。我將手機的google伺服器改成了nokia的,大家有興趣的話,可以試試不同的服務情況,適合大家的話,請頂我。。。覺得好的話,請回復我。。謝謝。。
該帖子於11月15日更新,因為我發現我的手機GPS定位仍然不是秒定,或者說根本沒什麼感覺來著,大家把第一招更改了之後,接著看第二招如何設定你的AGPS,讓你的定位更加牛P 。。。後面的第二招是關鍵。。。
第一招第一、首先是GPS定位原理:那GPS是用什麼來確定你和衛星的距離的呢? 公式:距離=速度*時間
無線電波的速度是恆定的,那計算時間就可以得到距離了。GPS衛星上載有原子鐘,並不停地傳送含有時間資訊的程式碼。GPS接收器(晶片)就是接收這些程式碼,並轉譯出時間資訊。然後用本地的時間減去接收到的時間資料,根據無線電波的速度來確定你和衛星的距離。由於電波訊號的傳播速度很快,所以GPS的時間訊號是精準到納秒級的。這就對接收器的時間精度提出了很高的要求。專業級的系統往往要附帶有原子鐘,至少也需要單獨的時間伺服器。一般的導航儀也都帶有連續執行的計時晶片。手機受到體積和使用上的限制,所以不可能擁有獨立的計時系統。所以谷歌就採取了一個取巧的辦法。當系統請求GPS定位時,從網上的時間伺服器(NTP)上獲取時間。用這個時間來計算你和衛星的距離。你可以試驗一下,當你的手機連線無線網路(或者是用USB連線網路)的時候,GPS定位是非常迅速的。這是因為,有快速的網路可以迅速更新NTP的資料。這樣我們就可以來考慮如何改善GPS定位的工作情況了。確保你可用的通訊網路。當你在使用GPS的時候,需要進行同步時間的工作。初次同步後,每1個小時會更新一次資料,如果更新失敗,5分鐘後會再次更新。所以,為了確保你定位精確,請在使用GPS的時候,確保手機有可用的通訊網路(當然,如果你對精度要求不是很高的話,只要保證初次同步時可用就可以了)。
第二、修改的原理基於上面的介紹分析,可以通過如下的方面來提高定位的精度和速度。
1.手機所在地點的衛星訊號(是指手機裸露在空曠室外,衛星訊號強度可以用搜星軟體來測試,我在青島,坐車在室外基本能穩定在11顆衛星,10顆能導航的水平,更改gps.conf之後的資料,之前是9顆左右,穩定定位8顆)
2.手機訊號
3.手機的定位軟體,本人使用的是google map 5.12.0,破解版可導航的。
4.gps引數,含在gps.conf檔案內由於前3條都是自然條件是不能改變的,所以我們只能通過設定gps.conf引數來提高了
第三、修改gps.conf的前提條件
1.你必須ROOT
2.裝個ROOT管理器例如rootexplorer
3.先備份gps.conf檔案(檔案在System/etc/資料夾裡),將檔案複製到SD卡(不要備份在system資料夾下,否則重啟的時候有可能被自動刪除的)
4.將許可權改成可讀寫,找到System/etc/gps.conf 這個檔案,然後長按gps.conf這個檔案,選擇文字編輯器開啟,就可以編輯了
第四、修改gps.conf
我的Gps.conf檔案的原文如下:
NTP_SERVER=north-america.pool.ntp.org 差時同步伺服器
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.google.com 定位伺服器
SUPL_PORT=7276 埠
我們重點能修改紅色粗體和藍色粗體的兩項資訊,最關鍵的差時伺服器,有很多更改差時伺服器的帖子,現在告訴大家如何選擇最有效的,到下面這個網址:http://www.pool.ntp.org/zone/cn看中國的資訊,然後大家可以選擇一個伺服器,可以自己ping一下,選擇一個比較適合的伺服器把紅色粗體部分替換成我們找到的伺服器地址,藍色粗體的部分我個人修改成了NOKIA的定位伺服器,因為Google在國內不是老是不穩定嘛所以我就改成了NOKIA了
讓我們再來看看修改後的文件:
NTP_SERVER=3.cn.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.nokia.com
SUPL_PORT=7276
第五,說說效果,之前在家裡陽臺搜星幾分鐘才能定位,修改以後基本可以實現秒定
提示:差時同步伺服器是實時變動的哦!!所以當你定位不夠迅速的時候就可以自己再改一改了
另外,我上傳我已改好的設定檔案,只要放到System/etc/裡就好了。。。(伺服器地址可以改成cn.pool.ntp.org,新增1.2.3.在前面是指中 國部分割槽域的伺服器,中 國有很多伺服器的,中 國很強大的!萬歲!)
本帖隱藏的內容需要回復才可以瀏覽
第二招
首先,開啟設定-無線和網路-行動網路-接入點名稱,找到你當前使用網路連線,點進去後可以看到,發現最後一行裡顯示的情況,有3個英文字母,反正我的機子是3個。。最後一行的連線型別為default,沒有supl在裡面。。。這個有問題。。。。如果你的手機能夠改寫,請點選把它修改成default,supl 其中的逗號切記要英文半形的,選單-儲存並退出,但是我的G11不能。。。大家就必須有第二個步驟
第二步啊。。。在我的手機中中國聯通的設定被鎖住了,不曉得是不是我的rom的問題,我以前記得是可以改的,也就是說第一步不行,下面的第二步我在的我G11中發現AGPS的檔案時空的,無法開啟,大家可以試試這個方法,不過沒經過我測試哦。。。。大家請頂我
在\system\etc\目錄下的apns-conf.xml檔案(該檔案就是apns.conf檔案),其中關於中國運營商APN設定的條目裡,大家可以複製出來檢視。。。
檢視的檔案圖片
其中可以清楚看到APN的設定中有type="default,supl"字樣。很多情況下是沒有的。建議搜星慢的機油可以檢查一下這個檔案中的設定,是否有"supl",如沒有請新增。一般都是“default”
新增好之後,就OK了。。。。同樣的,必須是英文半形字型哦。。。
該帖子於11月15日更新,因為我發現我的手機GPS定位仍然不是秒定,或者說根本沒什麼感覺來著,大家把第一招更改了之後,接著看第二招如何設定你的AGPS,讓你的定位更加牛P 。。。後面的第二招是關鍵。。。
第一招第一、首先是GPS定位原理:那GPS是用什麼來確定你和衛星的距離的呢? 公式:距離=速度*時間
無線電波的速度是恆定的,那計算時間就可以得到距離了。GPS衛星上載有原子鐘,並不停地傳送含有時間資訊的程式碼。GPS接收器(晶片)就是接收這些程式碼,並轉譯出時間資訊。然後用本地的時間減去接收到的時間資料,根據無線電波的速度來確定你和衛星的距離。由於電波訊號的傳播速度很快,所以GPS的時間訊號是精準到納秒級的。這就對接收器的時間精度提出了很高的要求。專業級的系統往往要附帶有原子鐘,至少也需要單獨的時間伺服器。一般的導航儀也都帶有連續執行的計時晶片。手機受到體積和使用上的限制,所以不可能擁有獨立的計時系統。所以谷歌就採取了一個取巧的辦法。當系統請求GPS定位時,從網上的時間伺服器(NTP)上獲取時間。用這個時間來計算你和衛星的距離。你可以試驗一下,當你的手機連線無線網路(或者是用USB連線網路)的時候,GPS定位是非常迅速的。這是因為,有快速的網路可以迅速更新NTP的資料。這樣我們就可以來考慮如何改善GPS定位的工作情況了。確保你可用的通訊網路。當你在使用GPS的時候,需要進行同步時間的工作。初次同步後,每1個小時會更新一次資料,如果更新失敗,5分鐘後會再次更新。所以,為了確保你定位精確,請在使用GPS的時候,確保手機有可用的通訊網路(當然,如果你對精度要求不是很高的話,只要保證初次同步時可用就可以了)。
第二、修改的原理基於上面的介紹分析,可以通過如下的方面來提高定位的精度和速度。
1.手機所在地點的衛星訊號(是指手機裸露在空曠室外,衛星訊號強度可以用搜星軟體來測試,我在青島,坐車在室外基本能穩定在11顆衛星,10顆能導航的水平,更改gps.conf之後的資料,之前是9顆左右,穩定定位8顆)
2.手機訊號
3.手機的定位軟體,本人使用的是google map 5.12.0,破解版可導航的。
4.gps引數,含在gps.conf檔案內由於前3條都是自然條件是不能改變的,所以我們只能通過設定gps.conf引數來提高了
第三、修改gps.conf的前提條件
1.你必須ROOT
2.裝個ROOT管理器例如rootexplorer
3.先備份gps.conf檔案(檔案在System/etc/資料夾裡),將檔案複製到SD卡(不要備份在system資料夾下,否則重啟的時候有可能被自動刪除的)
4.將許可權改成可讀寫,找到System/etc/gps.conf 這個檔案,然後長按gps.conf這個檔案,選擇文字編輯器開啟,就可以編輯了
第四、修改gps.conf
我的Gps.conf檔案的原文如下:
NTP_SERVER=north-america.pool.ntp.org 差時同步伺服器
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.google.com
SUPL_PORT=7276 埠
我們重點能修改紅色粗體和藍色粗體的兩項資訊,最關鍵的差時伺服器,有很多更改差時伺服器的帖子,現在告訴大家如何選擇最有效的,到下面這個網址:http://www.pool.ntp.org/zone/cn看中國的資訊,然後大家可以選擇一個伺服器,可以自己ping一下,選擇一個比較適合的伺服器把紅色粗體部分替換成我們找到的伺服器地址,藍色粗體的部分我個人修改成了NOKIA的定位伺服器,因為Google在國內不是老是不穩定嘛所以我就改成了NOKIA了
讓我們再來看看修改後的文件:
NTP_SERVER=3.cn.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.nokia.com
SUPL_PORT=7276
第五,說說效果,之前在家裡陽臺搜星幾分鐘才能定位,修改以後基本可以實現秒定
提示:差時同步伺服器是實時變動的哦!!所以當你定位不夠迅速的時候就可以自己再改一改了
另外,我上傳我已改好的設定檔案,只要放到System/etc/裡就好了。。。(伺服器地址可以改成cn.pool.ntp.org,新增1.2.3.在前面是指中 國部分割槽域的伺服器,中 國有很多伺服器的,中 國很強大的!萬歲!)
本帖隱藏的內容需要回復才可以瀏覽
第二招
首先,開啟設定-無線和網路-行動網路-接入點名稱,找到你當前使用網路連線,點進去後可以看到,發現最後一行裡顯示的情況,有3個英文字母,反正我的機子是3個。。最後一行的連線型別為default,沒有supl在裡面。。。這個有問題。。。。如果你的手機能夠改寫,請點選把它修改成default,supl 其中的逗號切記要英文半形的,選單-儲存並退出,但是我的G11不能。。。大家就必須有第二個步驟
第二步啊。。。在我的手機中中國聯通的設定被鎖住了,不曉得是不是我的rom的問題,我以前記得是可以改的,也就是說第一步不行,下面的第二步我在的我G11中發現AGPS的檔案時空的,無法開啟,大家可以試試這個方法,不過沒經過我測試哦。。。。大家請頂我
在\system\etc\目錄下的apns-conf.xml檔案(該檔案就是apns.conf檔案),其中關於中國運營商APN設定的條目裡,大家可以複製出來檢視。。。
檢視的檔案圖片
其中可以清楚看到APN的設定中有type="default,supl"字樣。很多情況下是沒有的。建議搜星慢的機油可以檢查一下這個檔案中的設定,是否有"supl",如沒有請新增。一般都是“default”
新增好之後,就OK了。。。。同樣的,必須是英文半形字型哦。。。