2015-10-05 10 views
3

У меня есть два приложения, которые имеют одинаковую функциональность, кроме изображений, значков, цветов, имени приложения и смены пакета и URL-адреса, который вызывается в случае сетевой активности.Одно приложение множественного брендинга

В iOS мы можем легко создавать два разных приложения из одного исходного кода, используя мощность целей.

Вот link о том, как сделать это в прошивкой

Но как это сделать в андроида

ответ

6

Вы должны использовать product flavors для этого.

В вашем build.gradle, вы будете определять вкус как так:

android { 
    productFlavors { 
     brand1 { 
      // ... 
     } 

     brand2 { 
      // ... 
     } 
    } 
} 

Вы можете создать аромат определенные ресурсы. Например, если вы создаете значок под названием ic_launcher.png, вы обычно помещаете его в такое место, как main/res/drawable-xhdpi/ic_launcher.png. Вместо этого вы можете поставить версию brand1 на brand1/res/drawable-xhdpi/ic_launcher.png и версию бренда2 на brand2/res/drawable-xhdpi/ic_launcher.png.

Когда вы запустите gradlew build, он построит все варианты. Вы также можете создать конкретные варианты, указав имя варианта следующим образом: gradlew assembleBrand1Debug. В Android Studio вы можете выбрать вариант, который хотите увидеть, используя панель «Варианты построения».

+0

Как бороться с изменением имени пакета и манифеста Android и всего ... – King

+1

Каждый вкус продукта может определять его собственный 'applicationId'. Если вам нужно изменить манифест, вы можете определить различные проявления для каждого аромата. –