1

Я уже задал аналогичный вопрос Но не смог найти то, что искал. Поэтому снова спрашивает. Я хочу запустить отдельный аромат apk на одном устройстве одновременно.Создайте отдельный apk для отдельного вкуса в Android для работы на одном устройстве

Я использовал build.gradle (приложение) для создания различных ароматов apk. Но установка разных ароматов того же apk переопределяет предыдущий. Я хочу создать разные apks для запуска на одном устройстве одновременно. Я хочу создать различные apk с различными appicon, которые могут быть установлены на одном устройстве и запускаться одновременно. Любая ссылка или учебник или прямая помощь приветствуются.

Мой build.gradle как ниже

productFlavors { 
    production { 
     applicationId 
     "com.abc.def" 
     buildConfigField 'String', 'HOST', '"http://example.com/api/"' 
    } 
    staging { 
     applicationId 
     "staging.com.abc.def" 
     buildConfigField 'String', 'HOST', '"http://example.com/api/"' 
    } 
    backendtesting { 
     applicationId 
     "backendtesting.com.abc.def" 
     buildConfigField 'String', 'HOST', '"http://example.com/api/"' 
    } 

} 

ответ

2

Не ставьте разрывы строк между Gradle команды и аргументы. . Это будет читать каждую строку отдельно, поскольку имеются разрывы строк команд сепараторы для Gradle (например, как ; для Java)

Например, использование:

applicationId "com.abc.def" 

вместо

applicationId 
"com.abc.def" 
1

Вы можете установить различные ApplicationID для различных вкусов. Таким образом, различные вкусы будут рассматриваться как разные приложения и не будут перезаписываться друг с другом при их установке на одном устройстве.

В качестве примера, следующий фрагмент создаст два варианта: prod и dev с различными пакетами приложений. Вы можете установить их вместе на устройстве.

productFlavors { 
     dev { 
      applicationId "com.swagata.devbuild" 
     } 

     prod { 
      applicationId "com.swagata.prodbuild" 
     } 
    } 
+0

Я редактировал вопрос с моим фрагментом кода файла gradle. Я уже использовал этот подход. Но это не работает. пожалуйста, проверьте и предложите, если что-нибудь мне не хватает. заранее спасибо. – SimpleCoder

+0

@SimpleCoder Как вы создаете разные апки для разных вкусов? './gradlew assemble' создает разные apks, которые могут работать независимо, если вы будете следовать этому подходу. –

1

Это post объясняет шаг за шагом, как настроить структуру каталогов и Gradle файл.

Основные шаги:

  1. добавить контейнер вкусов продукта в приложение build.gradle файл

    productFlavors { free { applicationId "antoniocappiello.com.buildvariantsexample.free" } paid { applicationId "antoniocappiello.com.buildvariantsexample.paid" } }

  2. создать внутри ЦСИ каталог с точным именем продукт, который вы хотите отличить от основного варианта, например, с конфигурацией на шаге 1, имя каталога можно было бы заплатить или бесплатно. И внутри этого каталога создайте вложенную папку res/drawable, где вы собираетесь разместить свое новое приложение. значок запуска.

Directory structure example