5

AndroidのMediaScannerがフォルダー内のメディアファイルを検出しないようにするために、ファイル「.nomedia」をフォルダーに配置しています。このフォルダー (「.nomedia」を含む) を APK のアセットから SD カードにコピーする必要があります (他のアプリがこれらのメディア ファイルなどを利用できるようにするため)。Eclipse で APK をパッケージ化すると、「.nomedia」ファイルがパッケージ化されません。おそらく、隠しファイルとして検出されています。これを修正する方法はありますか?使用できる秘密の aapt フラグはありますか? 可能であれば、フォルダーをコピーしてから「.nomedia」フォルダーを手動で作成することは避けたいと思います。

4

2 に答える 2

8

これは質問が出されてから数年後のことですが、同じ問題を自分で検索してこの質問に遭遇し、自分に合った解決策を発見したので、投稿しようと思いました:

プロジェクトの「ant.properties」ファイル (ない場合は新しいファイルを作成します) に、次の 2 行を追加します。

# DO NOT ignore the .nomedia file in the assets directory!
aapt.ignore.assets="!.svn:!.git:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"

これにより、デフォルトの除外リストから「.*」が削除されるため、.nomedia が .APK 内のアセット ディレクトリに含まれるようになります。

于 2012-07-20T18:53:58.407 に答える
1

アセットはアプリケーションにコンパイルされますが、ファイル ブラウザーからは見ることができません。アプリを最初に起動またはインストールするときに、コードからこのフォルダーにアクセスし、それをファイル システムにコピーする必要があります。この例を見てください。これはデータベース ファイルについて説明していますが、一般的には、アセットに入れ、ファイル システムに移動するすべてのファイルに対して同じことを行う必要があります。

http://www.helloandroid.com/tutorials/how-have-default-database

于 2010-06-09T17:58:47.693 に答える