私は Android で作業しており、JNI コードを書いています。デバイスからモバイル機器識別子 (MEID) を照会する方法を探しています。
http://en.wikipedia.org/wiki/Mobile_equipment_identifier
Android デバイスで単独で実行できる C または C++ コードを作成しようとしているので、Java を使用できないと思います (つまり、MEID を から取得しますTelephonyManager
)。
StackOverflow を検索すると、デバイスの IMEI/MEID を取得するために使用できる Android シェルまたは adb コマンドはありますか?
わかりましdumpsys iphonesubinfo
た。必要な情報を取得できます。そしてそれはうまくいきます!
dumpsys
Android のソースの一部として以外のソースは見つかりませんでした。ということでダウンロードしてみました... ダウンロードが完了する前にハードディスクがいっぱいになってしまいましたが、ソースコードはdumpsys
. 驚くほど短い C++ ファイルです。Android のIBinder
インターフェースを照会するだけです。
だから、私の質問:
IBinder
0) NDK のものだけを使用してクエリを作成する方法はありますか? によって使用されるインクルード ファイルdumpsys.cpp
は NDK にはなく、NDK ディレクトリにはインクルード ファイルやコード サンプルがgrep
見つからないため、私の推測では「いいえ」です (ただし、間違っていると思います)。IBinder
1) MEID を取得する他の良い方法はありますか?
system("dumpsys iphonesubinfo > /tmp/myprogname_dumpsys.tmp"
結果のファイルを使用してから開き、解析する必要があると真剣に考えています。それはうまくいくはずですが、私はそれをエレガントとは言いません...そしてdumpsys
、すべてのAndroidデバイスで利用できるかどうかはわかりません.
編集: を使用system()
して実行dumpsys
するというアイデアは機能しません。これは、dumpsys
ニーズandroid.permission.DUMP
と Android がシステム以外のアプリにその許可を与えることを許可しなくなったためです。