2012-02-02 1 views
9

Я работал с iPhone Xcode Traget, чтобы создать несколько приложений для iPhone с единой базой кода. Мой вопрос: возможно ли создать несколько целей для Android-проекта. Если да, возможно ли это с Eclipse?Возможно ли создать несколько целей для Android-проекта, например Xcode Target

Редактировать:

Xcode Задача: одинарной Проекты могут содержать один или более целей, каждый из которых производит один продукт (App). У этого всегда есть только один проект, в котором мы можем выбрать конкретную цель и запустить нужное приложение.

У iPhone есть только один проект для многих продуктов (App1, App2, App3 и т. Д.). Теперь я могу иметь такой же, как этот, один Android-проект и несколько продуктов (App1, app2, app3 и т.д.)

заранее спасибо

ответ

10

После широкого исследования я понял Android Library Project обеспечит решение для моего требования

проект Android библиотека является разработка проекта, который содержит общий исходный код и ресурсы для Android. Другие приложения для Android могут ссылаться на проект библиотеки и во время сборки включать свои скомпилированные источники в свои .apk-файлы. Несколько приложений проекты могут ссылаться на один и тот же проект библиотеки, и любой отдельный проект приложения может ссылаться на несколько проектов библиотеки.

Примечание: Вам нужно SDK Tools r14 или новее, чтобы использовать новый проект библиотеки функция, которая генерирует каждый проект библиотеки в свой собственный файл JAR. Вы можете загрузить инструменты и платформы с помощью Android SDK и AVD , как описано в разделе Добавление компонентов SDK.

• Если у вас есть исходный код и ресурсы, которые являются общими для нескольких проектов Android , вы можете перенести их в проект библиотеки так, чтобы он был проще в обслуживании приложений и версий.Вот некоторые общих сценарии, в которых вы могли бы сделать использование библиотечных проектов:

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

+0

Я предпочитаю это решение, я буду использовать его для собственного продукта в новых проектах, с этой библиотекой в ​​качестве базы для каждого клиента. –

-1

Там только одна цель построить в андроида в одном проекте. Backword совместимость контролируется во время установки с помощью minSdkVersion, targetSdkVersion и maxSdkVersion в файле манифеста

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html 

Также Android Market убедитесь, что если ваше приложение имеет собственный код и построен для ARM архитектуры не видно на x86 устройстве

+0

Это не то, что ОП просит о. Цели в Xcode означают использование одной и той же базы кода для создания нескольких разных приложений, возможно, с разными изображениями и URL-адресами бэкэнд, но с теми же функциями. –

-2

Вы можете контролировать, какую версию кто-то установил и начать какую-либо деятельность в зависимости от этого. Вы можете использовать что-то вроде этого:

private static boolean version= android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.HONEYCOMB; 

А потом что-то вроде:

public void onCreate(Bundle savedInstanceState){ 
Intent startActivity =null; 
if(version) 
      startActivityIntent = new Intent(this, newVersionActivity.class); 
else 
     startActivityIntent = new Intent(this, oldVersionActivity.class); 

finish();} 

Этот пример из видео в Google I/O (мин 5 ~): http://www.google.com/events/io/2011/sessions/android-protips-advanced-topics-for-expert-android-app-developers.html. Итак, вы должны указать minSdkVersion и maxSdkVersion, а затем указать, для чего начать работу.

+0

Это не то, о чем спрашивает ОП. Цели в Xcode означают использование одной и той же базы кода для создания нескольких разных приложений, возможно, с разными изображениями и URL-адресами бэкэнд, но с теми же функциями. –

9

Немного поздно, но для тех, кто все еще ищет решение:

Gradle Build System использует Построить Variant и сочетание вкусов продукта для создания различных приложений с общим/общей кодовой базой и ресурсами.

В соответствии с Android ЭТАЛ.ЗНАЧ Сайт:

Система сборки использует ароматы продукта для создания различных версий продуктов вашего приложения. Каждая версия вашего приложения может иметь разные функции или требования к устройству. Система сборки также использует типы сборки для применения различных настроек сборки и упаковки для каждой версии продукта. Каждая комбинация вкуса продукта и типа сборки представляет собой вариант сборки. Система сборки генерирует другой APK для каждого варианта сборки вашего приложения.

Теперь можно иметь два или более аромата продукта, например (платный вкус, свободный/демонстрационный вкус) и т. Д. Для одного проекта с одинаковой базой кода.

Для получения дополнительной информации см Build Variants & Product Flavors Doc

+2

Это отличное решение – rharvey

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

  • Нет связанных вопросов^_^