Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (3)
  • Как скомпилировать 1 из нескольких проектов на Android?

    @DanilinEgor
    Попробуйте такой вариант:
    1) создаёте интерфейс для работы с разными API
    public interface SocialApi {
        void post(Post post);
        void deletePost();
    }

    2) для каждой соц.сети имплементите этот интерфейс
    public class VkApi implements SocialApi {
        @Override
        void post(Post post){}
        @Override
        void deletePost(){}
    }

    3) в productFlavors прописываете
    productFlavors {
            appForVk {
                buildConfigField("com.social.myapp.SocialApi", 'api', "new com.social.myapp.vk.VkApi()")
                applicationId 'com.social.myapp.vk'
            }
            appForOk {
                buildConfigField("com.social.myapp.SocialApi", 'api', "new com.social.myapp.ok.OkApi()")
                applicationId 'com.social.myapp.ok'
            }
    }

    4) далее в BuildConfig будет сгенерировано поле
    public static final com.social.myapp.SocialApi api = new com.social.myapp.vk.VkApi();

    Через BuildConfig.api можно работать с соцсетью и реализация класса будет подменяться для разных ProductFlavor
    Ответ написан
    1 комментарий