1

aafmは、コンピューターとAndroidデバイス間でMTPを使用してファイルをコピーする小さなPython GUIユーティリティであり、下のレイヤーとしてadbを使用します。ただし、現在のように、ファイルは元のタイムスタンプではなく、コピーされたときのタイムスタンプを取得します。

コンピューターの最終変更時刻と一致するようにデバイスの最終変更日を設定できれば素晴らしいと思います。

http://developer.android.com/tools/help/adb.htmlにあるadbシェルコマンドのリストを調べてきましたが、これまでのところ、従来のunixtouchコマンドに似たものをリモートで見つけることができません。

このシェルにはそのようなものがありますか?

4

2 に答える 2

2

その目的のために、Androidでbusyboxを使用できます。これは、小さな Linux 標準プログラム (例: touch ) の置き換え (主に限られたオプション) として機能する 1 つのバイナリです。 これとこれを読んで

Androidツールボックスバイナリの一部であることがわかりましたが、電話で見つからない場合は、独自に構築されたタッチバイナリを使用して使用できます.ソースファイルはこちらです. 電話でアップロードし、使用後に chmod して削除するだけです。

于 2012-09-25T20:48:20.337 に答える
1

ADB を使用してホストから Android にコピーする場合は、元の変更タイムスタンプを使用する必要があります。adbd の現在のコードは、utime() を実行します。一部のデバイスでは、utime() が失敗します (以下を参照)。ADB を介して Android からホストにコピーしても、タイムスタンプの設定は試行されません。この省略の理由はわかりません。私の 2 つのデバイス (2.1 & 4.0) では、修正タイムスタンプは Android への書き込みで設定されますが、ホストへの書き込みでは設定されません。4.2 デバイスでは、FUSE ファイルシステムに問題があり、utime() が許可されません。

実際の SD カードを持たない (つまり、FUSE を使用している) デバイスでは、root でない限り、ファイルに対して utime() を実行すると問題が発生します。これにより、ファイルを作成できるがタイムスタンプを変更できないという異常な状況に陥ります。唯一の本当の解決策はro.secure=0、安全でないバージョンの を実行していることを確認することですadbd

于 2013-03-03T10:43:37.833 に答える