Использование IntelliJ IDEA для поддержки одной кодовой базы для бесплатной / платной версии приложения

StackOverflow https://stackoverflow.com//questions/24019441

Вопрос

Мне нужны некоторые идеи / предложения / указатели (как можно более подробные) для реализации бесплатной и платной версий моего приложения для Android.Я использую IntelliJ IDEA для разработки с помощью SVN.

Моя цель - поддерживать единую базу кода, которая реализует рекламу или платные функции с помощью простых логических значений, таких как "useAds" или "useFeatureX".Помимо этого, я думаю, все, что должно произойти, это изменить название пакета и приложения (?)

Я видел несколько старых сообщений о преобразовании проекта в библиотеку и другие новые ссылки, в которых говорилось о вариантах Gradle (я никогда не использовал Gradle).Первое кажется сложным, и я не совсем уверен из того, что я прочитал, делает ли оно то, что я ищу.Последнее звучит так, но, возможно, из-за моего незнания Gradle это кажется более сложным, чем есть на самом деле.

Есть ли другие способы?Является ли один из вышеперечисленных способов правильным?А как насчет безопасности?Я использую Proguard, который, я думаю, удаляет неиспользуемый код / классы из финального apk бесплатной версии?

Спасибо, извините за невежество.

Это было полезно?

Решение

Использование gradle productFlavors - более простой способ добиться этого.Это позволит вам создать две версии на основе единой кодовой базы.

Что касается безопасности, хотя Proguard поможет вам удалить неиспользуемые классы из одной из редакций, вы можете сделать это самостоятельно с помощью flavors, поскольку на самом деле вы можете предоставить отдельные файлы кода для каждой версии, если вам нужно, чтобы код существовал в одной редакции, но не в другой.

Что касается флагов, которые вы хотите использовать, вы можете очень легко добавить их в свой файл сборки gradle, используя buildConfigField.

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

Я думаю, что сначала лучше немного узнать о gradle и плагине для Android, чтобы создавать простые приложения, а затем начать погружаться в его расширенные функции и конфигурацию.

Другие советы

благодаря новой системе сборки (NBS), основанной на gradle, вы можете использовать для этого ароматизаторы.я дам вам ссылку на учебное пособие.просто используйте Google, чтобы найти более подробную информацию

http://www.sajmons.com/news/gradlebuildwithfreeandpaidflavors

а вот и полный проект на github

https://github.com/bmuschko/gradle-android-examples/tree/master/product-flavors

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top