¿Es posible crear múltiples destinos para el proyecto de Android como Xcode Target

He trabajado con iPhone Xcode Traget para crear múltiples aplicaciones de iPhone con base de código único. Mi pregunta, ¿es posible crear múltiples objetivos para el proyecto de Android. Si es así, ¿es posible con Eclipse?

Editar:

Xcode Target: A solo Los proyectos pueden contener uno o más destinos, cada uno de los cuales produce un producto (App). Esto siempre tiene un solo proyecto en el que podemos seleccionar el destino específico y ejecutar la aplicación deseada

IPhone tiene sólo un proyecto para muchos productos (App1, App2, App3 etc), Ahora puedo tener igual que esto, un proyecto de Android y múltiples productos (App1, App2, App3 etc)

Gracias por adelantado

Después de una amplia investigación me di cuenta de Android Library Project proporcionará una solución para mi requisito

Un proyecto de biblioteca de Android es un proyecto de desarrollo que contiene código fuente y recursos compartidos de Android. Otros proyectos de aplicación de Android pueden hacer referencia al proyecto de biblioteca y, en el momento de la compilación, incluir sus fuentes compiladas en sus archivos .apk. Varios proyectos de aplicación pueden hacer referencia al mismo proyecto de biblioteca y cualquier proyecto de aplicación simple puede hacer referencia a varios proyectos de biblioteca.

Nota: Necesita SDK Tools r14 o posterior para usar la nueva característica de proyecto de biblioteca que genera cada proyecto de biblioteca en su propio archivo JAR. Puede descargar las herramientas y plataformas que utilizan el SDK de Android y el Administrador de AVD, como se describe en Adición de componentes de SDK.

• Si tiene código fuente y recursos que son comunes a varios proyectos de Android, puede moverlos a un proyecto de biblioteca para que sea más fácil de mantener en aplicaciones y versiones. Estos son algunos escenarios comunes en los que podría hacer uso de proyectos de biblioteca:

• Si está desarrollando varias aplicaciones relacionadas que utilizan algunos de los mismos componentes, desplaza los componentes redundantes de sus respectivos proyectos de aplicación y crea un único conjunto reutilizable de los mismos componentes en un proyecto de biblioteca. Si está creando una aplicación que existe tanto en versiones gratuitas como pagadas. Se mueve la parte de la aplicación que es común a ambas versiones en un proyecto de biblioteca. Los dos proyectos dependientes, con sus nombres de paquetes diferentes, harán referencia al proyecto de biblioteca y sólo proporcionarán la diferencia entre las dos versiones de la aplicación.

Un poco tarde, pero para aquellos que siguen buscando la solución:

Gradle Build System utiliza una variante de construcción y una combinación de sabores de productos para generar diferentes aplicaciones con base de código y recursos compartidos / comunes.

Según el sitio de referencia para desarrolladores de Android:

El sistema de creación utiliza los sabores de los productos para crear diferentes versiones de producto de la aplicación. Cada versión de producto de su aplicación puede tener diferentes características o requisitos de dispositivo. El sistema de compilación también utiliza tipos de compilación para aplicar diferentes configuraciones de creación y empaquetado a cada versión del producto. Cada combinación de sabor y tipo de construcción forma una variante de construcción. El sistema de generación genera un APK diferente para cada variante de creación de la aplicación.

Ahora uno puede tener dos o más sabores del producto eg (sabor pagado, sabor libre / demo) etc. para un solo proyecto con la misma base de código.

Para obtener más información, consulte Creación de variantes y productos.

Sólo hay un objetivo de compilación en android en un solo proyecto. La compatibilidad de Backword se controla en el momento de la instalación usando minSdkVersion, targetSdkVersion y maxSdkVersion en el archivo de manifiesto

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

También el mercado de Android asegúrese de que si su aplicación tiene código nativo y está construido para la arquitectura ARM no es visible en un dispositivo x86

Usted puede controlar qué versión alguien ha instalado y comenzar una actividad u otra dependiendo de eso. Puede utilizar algo como esto:

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

Y luego hacer algo como:

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

Este ejemplo es de un video de la E / S de Google (min 5 ~): http://www.google.com/events/io/2011/sessions/android-protips-advanced-topics-for-expert-android- App-developers.html . Así que se supone que debe especificar la minSdkVersion y la maxSdkVersion y luego controlar qué actividad iniciar.

  • Cómo fortalecer el eco-sistema Java ME
  • Encriptación AES 128 de Android
  • ¿Cómo puedo crear una función similar a JQuery Slider en la aplicación web de iPhone / Android?
  • Android ListView con estilo como iPhone agrupado UITableView
  • Cargando la imagen codificada en Base64 en Cocos2d-x
  • Desarrollador de Android se traslada a iOS - ¿Qué necesito saber?
  • ¿Es posible, en principio, que un dispositivo Android interactúe con un iPhone a través de Bluetooth / GameKit?
  • UML: Cómo modelar la interfaz de usuario y los hilos de fondo para aplicaciones móviles (iPhone / iOS, Android)
  • Mejor base de datos para el desarrollo de teléfonos móviles
  • ¿Es una buena idea escribir juegos para móviles en ActionScript3 en lugar de Java / Objective-C?
  • Envolvente de webapp de iPhone / Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.