2012-02-02 12 views
9

? Trabajé con el iPhone Xcode Traget para crear varias aplicaciones de iPhone con una base de código único. Mi pregunta es si es posible crear varios objetivos para el proyecto de Android. Si es así, ¿es posible con Eclipse?¿Es posible crear objetivos múltiples para proyectos de Android como Xcode Target

Editar:

Xcode Target: Un solo proyectos pueden contener uno o más objetivos, cada una de las cuales produce un producto (APP). Esto siempre tiene solo un proyecto en el que podemos seleccionar el objetivo específico y ejecutar la aplicación deseada

iPhone tenemos solo un proyecto para muchos productos (App1, App2, App3, etc.), ahora puedo tener lo mismo que este, un proyecto de Android y varios productos (App1, App2, App3 etc)

gracias de antemano

Respuesta

10

Después de una amplia investigación que se dieron cuenta de Android Library Project proporcionará solución para mi requisito

Un proyecto de biblioteca Android es un proyecto de desarrollo que mantiene código fuente de Android compartido y recursos. Otros proyectos de la aplicación Android pueden hacer referencia al proyecto de la biblioteca y, en tiempo de compilación, incluir sus fuentes compiladas en sus archivos .apk. Los proyectos de aplicación múltiple pueden hacer referencia al mismo proyecto de biblioteca y cualquier proyecto de aplicación puede hacer referencia a múltiples proyectos de biblioteca.

Nota: necesita herramientas SDK r14 o posterior para utilizar el nuevo proyecto de biblioteca característica que genera cada proyecto de biblioteca en su propio archivo JAR. Usted puede descargar las herramientas y plataformas usando el Administrador de Android SDK y AVD , como se describe en Agregar componentes de SDK.

• Si tiene código fuente y recursos que son comunes para múltiples proyectos de Android , puede moverlos a un proyecto de biblioteca para que sea más fácil de mantener en todas las aplicaciones y versiones.Aquí están algunos escenarios comunes en las que se podía hacer uso de proyectos de biblioteca:

• Si está desarrollando relacionada múltiples aplicaciones que utilizan algunos de los mismos componentes, se mueven los componentes redundantes de sus respectivos proyectos de aplicación y cree 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 de pago. Mueve la parte de la aplicación que es común para ambas versiones en un proyecto de biblioteca . Los dos proyectos dependientes, con sus diferentes nombres de paquete , harán referencia al proyecto de biblioteca y proporcionarán solo la diferencia entre las dos versiones de la aplicación.

+0

Prefiero esta solución, la usaré para mi propio producto en nuevos proyectos, con esta biblioteca como base para cada cliente. –

-1

Sólo hay un tipo de generación de Android en un solo proyecto. compatibilidad backword se controla durante la instalación utilizando minSdkVersion, targetSdkVersion y maxSdkVersion en el archivo de manifiesto

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

también el mercado androide 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

+0

Esto no es lo que el PO está preguntando. Los objetivos en Xcode significan usar la misma base de código para compilar varias aplicaciones diferentes, tal vez con diferentes imágenes y URL de fondo pero con la misma funcionalidad. –

-2

Puede controlar la versión que alguien ha instalado y comenzar una actividad u otra dependiendo de eso. Se puede usar 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 Google I/O (min 5 ~): http://www.google.com/events/io/2011/sessions/android-protips-advanced-topics-for-expert-android-app-developers.html. Se supone que debe especificar minSdkVersion y maxSdkVersion y luego controlar qué actividad iniciar.

+0

Esto no es lo que el OP está preguntando. Los objetivos en Xcode significan usar la misma base de código para compilar varias aplicaciones diferentes, tal vez con diferentes imágenes y URL de fondo pero con la misma funcionalidad. –

9

Un poco tarde, pero para aquellos que siguen en busca de solución:

Gradle Sistema Construir Construir utiliza un Variant y la combinación de sabores de productos para generar diferentes aplicaciones con base de código compartido/común y recursos.

Según Android Site Developer Referencia:

El sistema de construcción utiliza sabores de productos para crear diferentes versiones del producto de su 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 usa tipos de compilación para aplicar diferentes configuraciones y configuraciones de empaque a cada versión de producto. Cada sabor de producto y combinación de tipo de compilación forma una variante de compilación. El sistema de compilación genera una APK diferente para cada variante de compilación de tu aplicación.

Ahora uno puede tener dos o más sabores de productos, por ejemplo, sabor pagado, sabor libre/demo, etc. para un solo proyecto con la misma base de código.

Para obtener más información Ver Build Variants & Product Flavors Doc

+2

Esta es una gran solución – rharvey

Cuestiones relacionadas