Вопрос

Я помещаю файл '.Nomedia' в папку, чтобы избежать MediaScanner Android от обнаружения медиафайлов в папке. Мне нужно скопировать эту папку (включая «.Nomedia») из активов APK на SD-карту (поэтому другие приложения могут использовать эти медиа-файлы и т. Д.). Когда я упаковываю APK в Eclipse, он не пакет файла '.Nomedia'. Предположительно, он обнаруживает его как скрытый файл. Любые идеи, как это исправить? Есть ли секретный флаг AAPT, который я могу использовать? Я хотел бы избежать копирования папки, а затем вручную создавать папку «.Nomedia», если это возможно.

Это было полезно?

Решение

Я знаю, что это несколько лет после того, как вопрос спросил, но я столкнулся с этим вопросом, поиске по тому же вопросу, и обнаружил решение, которое работало для меня, поэтому я подумал, что опубликую это:

В вашем файле «ant.Properties» для вашего проекта (создайте новый, если у вас его нет) добавьте эти две строки:

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

Это удалит «. *» Из списка исключения по умолчанию, и, таким образом, .Nomedia теперь будет включен в каталог ваших активов внутри вашего .apk.

Другие советы

Активы получают компиляцию в приложение, вы не можете видеть их через браузер файлов. Вам придется получить доступ к этой папке из кода, а затем скопировать ее в файловую систему, когда приложение впервые запущено или установлено. Посмотрите на этот пример, он говорит о файле базы данных, но в целом вы хотите сделать то же самое для любого файла, который вы помещаете в активы и хотите перейти к файловой системе:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top