Java: Cómo compartir código de aplicación / UI común entre varias aplicaciones

Tengo varias aplicaciones que difieren sobre todo basadas en recursos. A partir de ahora, estoy copiando el código alrededor de cada aplicación. Esto puede ser problemático. Un ejemplo, arreglando un error en uno, y olvidando actualizar a los demás.

No creo que la creación de un JAR sea apropiada para esta situación, ya que se trata de clases de interfaz de usuario específicas de aplicación (en realidad, las clases de actividad de Android en específico), incluido el código de inicio de la aplicación real.

Puede ser posible incluir estos archivos de origen en varios paquetes, pero luego tengo el problema de que cada archivo especifica un nombre de paquete específico en la primera línea.

La mayor parte del código está relacionado con la UI y el procesamiento de la actividad. (El código común actual ya está en una biblioteca). Una pregunta similar se publica aquí . ¿Hay alguna solución elegante para esta situación?

Un frasco es absolutamente apropiado para esta situación. Debe dividir su aplicación en capas, separando las clases específicas de la aplicación del código compartido.

He resuelto esto por ir con proyectos de la Biblioteca de Android. (No está seguro de los detalles, tal vez son en última instancia frascos) Consulte los detalles aquí , específicamente la sección "Configuración de un proyecto de biblioteca". Básicamente poner en todas mis clases de actividad (excepto para el inicio de una) en la biblioteca.

Para verdadero código no vinculado a la UI, JARs, parecen ser el camino a seguir.

Estoy de acuerdo con artbristol.

También recomiendo usar Maven y:

  • lanzar los frascos comunes a un repositorio Maven corporativo
  • declarar una dependencia con versiones específicas sobre estos artefactos jar

De esta manera, no se rompen las aplicaciones si se realizan algunos cambios incompatibles.

  • No se puede crear el directorio en el almacenamiento externo aunque los permisos aparentemente están configurados correctamente
  • Cómo hacer un reemplazo sobre las webs cargadas en una Webview
  • ListView filtrar correctamente pero muestra un resultado incorrecto
  • OnSensorChanged () no se llama
  • Base64 cargar desde Android / Java a RoR Carrierwave
  • ¿Existe alguna diferencia entre Java y Java de Oracle utilizados en Android?
  • Samsung pasa sdk cambiar el texto en espera en el diálogo de huellas dactilares
  • Carpeta de activos en Android Studio Unit Test
  • ¿Cómo convertir geopoint longitud + latitud a doble?
  • ¿Es mejor práctica de código para registrar un receptor en manifiesto o en código?
  • Envío de un SMS en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.