0

ベンダーIDと製品IDのみでデバイスを識別し、BCDを除外するように、calibre(電子書籍管理プログラム)用のAndroidデバイスドライバーを変更しようとしています。

ドライバーはかなり単純なPythonプラグインであり、現在3つの数値すべてを使用するように設定されていますが、AndroidデバイスがカスタムAndroidビルド(Nexus Oneの場合はCyanogenMod)を使用すると、BCDが変更されるため、キャリバーは認識を停止します。

現在のコードは次のようになり、ベンダーIDの単純なリストがあり、製品IDとBCDが許可されています。

VENDOR_ID   = {
        0x0bb4 : { 0x0c02 : [0x100], 0x0c01 : [0x100]},
        0x22b8 : { 0x41d9 : [0x216]},
        0x18d1 : { 0x4e11 : [0x0100], 0x4e12: [0x0100]},
        0x04e8 : { 0x681d : [0x0222]},
        }

私が具体的に変更しようとしている行は次のとおりです。

0x18d1 : { 0x4e11 : [0x0100], 0x4e12: [0x0100]},

つまり、NexusOneを識別するための行です。CyanogenMod5.0.5を実行している私のN1にはBCD0x226があり、リストに追加するだけでなく、認識プロセスからBCDを削除して、ベンダーIDが0x18d1で製品IDが0x4e11のデバイスがあれば0x4e12が認識されます。カスタムAndroidROMは、詳細が重要になるほど十分に変更されていません。

構文では、角かっこで囲まれたBCDが必要なようです。

これを編集して、そのフィールドのすべてに一致させるにはどうすればよいですか?

4

1 に答える 1

0

それはデータ構造であり、それ自体は何にも「一致」しません。変更は、そのデータ構造を使用して照合を行うコードで発生する必要があります。データ構造自体でできることは、一致するコードが認識する何らかのフラグがない限り、「すべてに一致する」ことを意味しません。

于 2010-03-27T07:39:38.307 に答える