GalaxySのGPS精度改善をしてみた

GalaxySはiPhoneXperiaに比べてGPSの精度が悪い。検知も遅い。
最近いらいらすることが増えたので、ついにGPSをFixすることにした。
下記記事がTwitterのTLで流れてたので、参考にすることにした。

参考記事
Galaxy S(SC-02B)のGPSを改善する

この記事によれば・・・流れはこうだ。
(1) Root取得
(2) root explorer(有料)を使って、GPS関連のコンフィグを設定する

GPSの設定ファイルは、Root権限でないと、参照できない。
まず、Rootを取得し、次に、root explorerというファイルマネージャーの機能をつかって
ファイルの内容を書き換えよう、ということだ。

ちなみに、Root化は実施済み。(Root化についてはググればいっぱいでてくるので参照されたし)

今回はroot explorerを使う以外の方法を試してみる
考えられる方法は2個

Androidアプリのターミナルソフトを使う

 Android上で動作するターミナルソフト。
 例えば、
 Android terminal emulator
 がある
 

ADB Shellをつかう

 PC上で動作するAndroid用ターミナルソフト。
 ここでDL可能。
 Android SDK
 android-sdk_rxx-windows.zipをDLする。


つまり、Android端末上でファイルを編集するか、PC上でファイルを編集するか。
今回はPC上でファイルを編集できるADB Shellを利用した。


ADB Shellは、DLしたAndroidSDKのフォルダの中に含まれており、
コマンドプロンプト上からadb.exeを指定すれば利用できる。
ADB Shell利用方法
※adb.exeは自分がDLしたSDKでは platform-tools に含まれていた。


adbを使う準備ができたらコマンドプロンプト上(PCからの操作)から以下を実行する。
※もちろんなにがあっても自己責任です。


1.secgps.confを、SDcard直下に保存
$ su (スーパーユーザ権限になる)
# dd if=/data/gps/secgps.conf of=/sdcard/secgps.conf

2.PCにSDカードのsecgps.confを移す。

3.PC上からsecgps.confを編集(詳細は上記リンクから見てね)

4.PCからSDカードにsecgps.confを戻す。

5.リブート

<結果>
室内でもGPSをある程度取得できるようになった。
取得スピードが向上した。

ってか、かなり精度よくなったと思われる。

【今回困った事】
◆CPコマンドがない
 AndroidにはCPコマンドがないようだ・・・(エラーメッセージもでないから気づくのに時間がかかったorz)
 代わりにddコマンドでファイルをコピーしている。

◆Adb shellを起動するも、端末が接続されていないエラーがでる。
 Adb shellを利用するには、Androidデバッグモードで接続する必要がある。
 (さらに今回は、SDカードのデータを移す行程があるため、そのときはデバッグモードをオフにする)