2014-12-17 6 views
0

Я пытаюсь понять, как я могу генерировать несколько APK из одного проекта.Создайте несколько APK из одного проекта

Я использую Gradle и это мой проект Трехстрочное:

enter image description here

  • ambrogiocore является библиотечный модуль ядра, который реализует все общие классы и ресурсы.
  • ambrogioremote - это модуль, который имеет зависимость от ambrogiocore.

Это работа. Теперь я могу генерировать несколько APK. (только один на данный момент) Один apk для каждого модуля.

проблема является то, что мне нужно вручную синхронизировать все AndroidManifest.xml для каждого будущего модуля, который я буду включать в свой проект.

Правильно ли это? Могу ли я автоматизировать эту операцию?

Я взглянул на productFlavor. Просто я не понимаю, может ли этот инструмент помочь мне.

Что вы думаете о?

СПАСИБО ВСЕМ!

** РЕШЕНИЕ **

Наконец-то! Я нашел такое же решение, предложенное @Kai!

Вкус - это путь!

Это лучший подход для многих причин:

  • Single-модуль проекта
  • Вам не нужно копировать XML-файлы
  • RoboGuice будет работать как шарм. (RoboGuice представляет некоторые большие проблемы на библиотечных проектов)

http://www.techotopia.com/index.php/An_Android_Studio_Gradle_Build_Variants_Example

ответ

0

Если на «один одноядерных источника и нескольких проектов, который проходит„ProductName“,„PACKAGENAME“и„ресурсы“» вы имеете в виду предоставить каждому аромату уникальные «ProductName», «PackageName» и «resources», затем да это можно сделать.

Чтобы дать каждому аромату свой собственный уникальный пакет, набор applicationId для каждого из ваших вкусов, как так:

android { 
    productFlavors { 
     flavor_1 { 
      applicationId = 'com.app.flavor_1' 
     } 

     flavor_2 { 
      applicationId = 'com.app.flavor_2' 
     } 
    } 
} 

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

Более подробно о том, как Gralde вкусами работы, пожалуйста, см Gradle Plugin User Guide

0

Это мое окончательное решение!

  • Всех общих файлы, проявляются и базовые ресурсы находятся под "SRC/главным"
  • Я переместил свои проекты в "Src/проектов"
  • объявленных два productFlavor (по одному на проект) с указанием applicationId и versionName
  • создал два источника (один для каждого проекта), указывающий конкретную папку res.

enter image description here

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