コマンドラインから位置座標を取得する方法


10

コマンドライン、またはルート化されたデバイスの緯度と経度をダンプまたは一覧表示できる一連のコマンドを探しています。

ADBシェルを使用してデバイスに接続します。座標がコマンドラインに記録されるようにする方法も、私にとっては良い方法です。

回答:


11

方法があるように見えます:

adbシェルdumpsysの場所> dumpsys.txt

これにより、すべての位置情報サービス情報を含むファイルが提供されます。このファイルを検索する'Last Known Locations'と、次のようになります。

passive: Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{noGPSLocation=Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{coarseLocation=Location[network 92.918919,55.603997 acc=2000 et=+1d4h10m34s255ms]}]}], networkLocationSource=cached, networkLocationType=wifi, travelState=stationary}]}]

network: Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{noGPSLocation=Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{coarseLocation=Location[network 92.918919,55.603997 acc=2000 et=+1d4h10m34s255ms]}]}], networkLocationSource=cached, networkLocationType=wifi, travelState=stationary}]}]

もちろん、デバイスでGPSプロバイダーを有効にしている場合、リストには別のエントリが含まれます。

Androidコードで説明すると、アプリがLocationManager.getLastKnownLocation()を使用するときに位置情報を取得する方法を見つけようとしました。少しフォローした後、私はここでLocationManagerServiceになりました。getLastLocationとダンプ関数も実装しています。

私が知る限り、座標はどのファイルにも保存されません。それらはハッシュマップのメモリに保存され、dumpsysコマンドのためにダンプされます。これは、ディレクトリ階層検索でgps情報を含むファイルが見つからなかった理由も説明します。

より標準的な形式でこの情報が必要な場合は、アプリのルートをたどり、このようなものを使用する必要があります。このアプリは、地理ベースのアプリにフィードできるGPSまたはKMLファイルで情報をエクスポートします。

PS:これは、ルート権限を取得していないデバイスでも同様に機能します。


1
Windowsユーザーの場合:adb shell dumpsys location > dumpsys.txt結果をファイルに出力します。
Andrew T.

を使用してエミュレータでGPSステータス(アクティブ、パッシブ)を検出しようとしています。手動でGPSを有効にしてもadb shellLast Known Locations情報は常に空です。
talha06
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.