0

内部でテストしている Android アプリがあります。そのために、アプリの実行に不可欠な関連コンテンツとともに APK をダウンロードするためのリンクを設定しました。以下は、私が取った手順の一部です。

  1. Mac OSX を実行しているマシンのコンテンツを tar-balled しました。
  2. それをシステム担当者に送信し、システム担当者は tar を解凍して圧縮し (チームの多くの人は tar ユーティリティを持っていない可能性があります)、アップロードします。
  3. テスターは、Windows マシンを使用してファイルをダウンロードし、(WinRar または WinZip を使用して) 解凍します。解凍したフォルダは、Androidスマートフォンの外部保存ディレクトリ内の特定のフォルダに入れられます。
  4. アプリを起動すると、ここで文書化したスタック トレースですぐに失敗します。エラーは、このアプリに辞書機能を提供するために使用している Java-WordNet インターフェイスの MisFormattedLine Exception です。
  5. ただし、Android デバイスのコンテンツを削除し、デバイスを Mac にマウントし、同じリンクからコンテンツをダウンロードし、コンテンツをコピーして同じ領域に貼り付けると、アプリは正常に動作します!!

問題の根本を突き止めるために、フォルダー内の各ファイルの MD5 を実行して、アプリが動作するコンテンツのバージョンと比較しました。違いはありません。

私の質問:
1. copyMac と Windows の間で異なる関数の動作で、私が見逃しているものはありますか?
2. ファイルが正しくコピーされるようにするには、どうすればよいですか?

4

1 に答える 1

0

エラーは JWI によるものではありません。Mac から Mac 以外のシステムにファイルをコピーすると、OS によってリソース フォーク ファイルが自動的に追加されます。「file1.xyz」という名前のファイル名がある場合、Mac OSX は「._file1.xyz」という名前で同じディレクトリにリソース フォークを追加しようとします。リソース フォークは、画面上にコンテンツ (フォント名、サイズなど) をレンダリングするのに役立つ一種のメタデータです。ほとんどの *nix タイプの OS では、「.」を含むすべてのファイル 名前の先頭にある が隠され、表示されなくなります。これらのファイルは、ディクショナリのロードが失敗する原因となっています。

すべてのディレクトリからファイルを削除する以外に、これを回避する方法はありません。これはレガシー Mac の問題です。上記のリンク先の質問にこの回答を追加しました。

于 2013-11-06T20:09:45.140 に答える