0

Я хотел бы использовать пользовательский класс Activity1 для конкретного Gradle вкуса, но когда я пытаюсь запустить эту деятельность из MyActivity под /main он не признает Activity1 как класс. Как я могу построить это сообщение и где я должен включить Activity1 в файл манифеста, под /flavor1 или под /main? Моя структура проекта:Общительности между пользовательскими пакетами вкусовых

|--src/ 
    |--flavor1/ 
    |--java/ 
     | |--Activity1.java 
    | |--res/ 
    |  |--layout/ 
    |  | |--activity1.xml 
    |--main/ 
     |--java/ 
     | |--MyActivity.java 
     |--res/ 
     | |--layout/ 
     | | |--activity_main.xml 
     | |--... 
     |--AndroidManifest.xml 

Я добавляю в Gradle:

sourceSets { 
    flavor1.java.srcDirs 'src/flavor1/java' 
} 

И в MyActivity от /main я получаю:

Не удается разрешить символ Activity1

P.S. В качестве альтернативы можно использовать широковещательные приемники byun. Я не уверен, что это хороший подход.

ответ

0

Убедитесь, что в окне Build Variants указан конкретный вариант сборки flavor1. (Внизу слева в Android Studio). Выберите любой вариант сборки, в котором есть слово flavor1, и вы увидите классы в своем flavor1 источниках. Если выбран другой вариатор вкуса, только классы в исходном наборе этого аромата будут разрешимы.

+0

Я делаю это, но мой класс остается неразрешимым –

+0

, как выглядит ваше сообщение об ошибке? когда вы указываете на неразрешенное имя класса – AndroidMechanic

+0

, см. мой обновленный вопрос –

0

Имя файла XML является одинаковым для обоих видов деятельности: activity_main.xml

Вы должны иметь другое имя, потому что в процессе объединения ресурсов, XML становится заменен. Слияние ресурсов объединяет как вкус продукта, так и основные источники.

+0

thx для remarc, но вот еще одна проблема –

+0

В build.gradle не должны быть определены исходные наборы. попробуйте очистить проект. Сколько вкусов у вас есть? – jitinsharma

Смежные вопросы