Вручную созданные ресурсы аромата не строятся правильно - PullRequest
0 голосов
/ 28 июня 2018

У меня странный вопрос. Я уже нашел решение этой проблемы, но мне любопытно, ПОЧЕМУ это не сработало, когда я вручную попытался создать папки ресурсов аромата.

Итак, я хотел добавить новый Flavor в существующий проект Android, который уже включал несколько вариантов. Я вошел в файл уровня приложения build.gradle и добавил новый вариант. В этом примере я добавляю Flavor_Two:

defaultConfig {
    applicationId "com.fancyapp.APP_NAME"
}
flavorDimensions "client"
productFlavors {
    Flavor_One {
        applicationId 'com.fancyapp.one'
        dimension "client"
    }
    Flavor_Two {
        applicationId 'com.fancyapp.two'
        dimension "client"
    }
}

Затем я вручную вошел в свой файловый менеджер и создал папки и файлы ресурсов: "/app/src/Flavor_Two/res/values/strings.xml"
"/app/src/Flavor_Two/res/mimap-hdpi/icon.png"

При создании аромата он не использует активы Flavor_Two, а вместо этого использует значения по умолчанию, которые com.fancyapp.APP_NAME не com.fancyapp.two. Приложение аварийно завершает работу, поскольку оно также ищет локальную базу данных по PackageName , которое должно быть com.fancyapp.two, но вместо этого находит com.fancyapp.APP_NAME.

Я выяснил, удалил ли я созданную вручную папку Flavor_Two, и вместо этого прошел через меню Android Studio "File > New > Android Resource Directory" и выбрал Flavor_Two в качестве Source Set и Values в качестве Resource Type, который создал "/app/src/Flavor_Two/res/values" папка и родительские папки. Это были те же самые имена папок, которые я делал ранее. Затем я скопировал файл strings.xml. Я только должен был сделать начальные папки через меню Android Studio; я мог бы скопировать папку «mimap-hdpi», которую я ранее использовал, и аромат будет создан правильно.

Мой вопрос такой:
ПОЧЕМУ Android Studio и Gradle не видят мои созданные вручную папки, а ЧТО еще делает, чтобы папка через меню делала то, что мне нужно было бы сделать, если бы я хотел сделать все вручную в будущем.

Спасибо, если у кого-то есть идеи.


Версия Android Studio: 3.1.3
Версия сборки Gradle: 3.1.3
Версия Buildtools: 27.0.3
Версия скомпилированного SDK: 23
ОС: Windows 10

1 Ответ

0 голосов
/ 28 июня 2018

Это должно было работать нормально. Вероятно, просто проблема синхронизации. Попробуйте создать папку вручную, а затем нажмите «Синхронизировать с файловой системой», а затем значки панели инструментов «Синхронизировать проект с файлами Gradle» в Android Studio после создания каталога вручную. Рядом со значком сохранения.

...