Изображение актива НЕ генерирует файл ic_launcher_foreground. xml - PullRequest
0 голосов
/ 18 апреля 2020

Я создал все свои адаптивные значки в инструменте Image Asset, но он не создает файл ic_launcher_foreground.xml - что, в свою очередь, приводит к сбою сборки из-за переднего плана. xml На файл ссылаются в ic_launcher. * Файлы 1030 * и ic_launcher_round. xml.

Я прочитал много веток о том, как решить эту проблему, но ни одна из них не работает.

Кроме того, файлы ic_launcher. xml и ic_launcher_round. xml специально ссылаются на эти два файла:

<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@mipmap/ic_launcher_foreground" />

Папка /drawable создается с ic_launcher_background. xml, но инструмент Image Asset не создает папку /mipmap - он, похоже, создает все другие /mipmap-XYZdpi папки и значки.

Я поднимаю это, потому что многие другие темы показывают файлы ic_launcher. xml и ic_launcher_round. xml ссылаются как на фон. xml, так и на передний план. xml файлы в той же папке /drawable, в отличие от моей выше.

в активе изображения: передний план Вкладка: Имя слоя: ic_launcher_foreground Тип актива: image Путь: /dev/myApp/resources/myCustomIcon.png Фон Вкладка: Имя слоя: ic_launcher_background Тип актива: изображение Путь: res / drawable / ic_launcher_background. xml

Единственный раз, когда я могу отобразить файл ic_launcher_foreground.xml на экране «Выходные файлы», это если на вкладке переднего плана выбрать Asset Type: Clip Art

ОБНОВЛЕНИЕ:

* 1 024 * Я нашел файл ic_launcher_foreground.xml в папке drawable (v24) глубоко в папке Android Studio, связанной с моим проектом. Я скопировал этот файл в папку своих проектов res/drawable - и теперь я получаю иконку полумесяца Android для своего приложения, когда оно компилируется в мое тестовое устройство.

1 Ответ

0 голосов
/ 22 апреля 2020

Ну, я понял это - наконец. Публикация моего ответа для всех, у кого есть такие же проблемы.

Использование инструмента Image Asset - ic_launcher_foreground.xml и ic_launcher_background.xml будут сгенерированы ТОЛЬКО, если каждый тип (вкладка переднего плана / вкладка фона) Тип актива определяется как что-либо НО тип изображения. Типы активов PNG / JPG не генерируют эти xml файлы.

Независимо от типов активов будут сгенерированы как ic_launcher.xml, так и ic_launcher_round.xml. Оба этих файла xml просто ссылаются на другие файлы, если тип актива - color / art / text - это будут ссылки на другие файлы XML, которые будут либо в папке @drawable/, либо в папке @values/.

<background android:drawable="@drawable/ic_launcher_background" /> OR 
<background android:drawable="@values/ic_launcher_background" /> 
//@drawable - is the root of all your drawables folders
//   - and references only XML, ie: ie_launcher_background.xml

Если тип актива - изображение (png / jpg), то ссылка будет на вновь созданные файлы png / jpg, которые существуют в любой из папок @mipmap.

<foreground android:drawable="@mipmap/ic_launcher_foreground" />
// @mipmap is simply root of all your mipmap folders
// references actual png files, ie: ic_launcher_foreground.png

И, наконец, если вы используете Cordova, вам нужно изменить конфигурацию. xml, чтобы отразить значок FILES для использования:

<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
     <application android:icon="@mipmap/ic_launcher"  android:roundIcon="@mipmap/ic_launcher_round" />
</edit-config>
// this telling the app to find those two XML files in the mipmap-anydpi-v26 folder
// and those files in turn tell the app to find all the png files in the other "mipmap" folders

// if it were this:
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
     <application android:icon="@drawable/ic_launcher"  android:roundIcon="@drawable/ic_launcher_round" />
</edit-config>
// this telling the app to use the XML files sourced in the drawable folders
// if you used png as foreground and color as background
// ic_launcher.xml/ic_launcher_round.xml would both point to:
//      @mipmap/ic_launcher_foreground   (ie: png images)
//      @drawable/ic_launcher_background  (ie: xml files)

Я надеюсь, что это поможет другим, так как я чувствую все вышесказанное плохо объяснено в другой документации.

...