2

dumpsys出力の形式は各Androidデバイスでまったく同じですか?のように、アプリでダンプサービスの出力を読み取り、正確な文字列照合を実行して、返されたデータを解析するのは安全ですか?

4

2 に答える 2

4

フォーマットが100%同じであると期待しないでください。異なるAndroidバージョン間でわずかな変更がありました。また、一部のサービスは、使用される特定のハードウェアコンポーネント(無線/チップセット/周辺機器/センサーなど)に依存しているため、実際のサービスコードは、Googleではなく異なるOEMから提供される場合があります。

ただし、アプリケーションには98%で十分な場合があります。

于 2012-12-04T05:18:21.480 に答える
0

いいえ、私の知る限り、同じOSを実行している同じデバイスから常に同じ出力を取得する必要があります。

私の経験から、出力形式はそれほど多くありません。私がmonkeyrunnerテストを作成する数十のデバイスのうち、2つしか経験していません。私は、私が遭遇した両方のフォーマットの読み取りをカバーすることを除いて、単純な試みを使用します。両方とも失敗した場合は、エラーを出力してスクリプトを停止します。

memList = memFull.split()
try:
    dalvikIndex = memList.index('dalvik')
    heapSize = memList [dalvikIndex + 5]
    memAllocated = memList [dalvikIndex + 10]
    memFree = memList [dalvikIndex + 15]
except ValueError:
    try:
        dalvikIndex = memList.index('Dalvik')
        heapSize = memList [dalvikIndex + 4]
        memAllocated = memList [dalvikIndex + 5]
        memFree = memList [dalvikIndex + 6]
    except ValueError:
        print 'Unsupported output format detected. MemoryMonitor script will need to be updated to support this format'
        break
于 2013-04-04T20:12:27.807 に答える