Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 18/08/12, 11:56:11
Avatar de pmaicas
pmaicas pmaicas no está en línea
Desarrollador
Mensajes: 1,299
 
Fecha de registro: dic 2008
Mensajes: 1,299
Mencionado: 25 comentarios
Tagged: 0 hilos
Compilación condicional en Java ?

A ver si algún experto en java tiene una solucion a esto

Visto que no existe un preprocesador para java, al estilo del de C, ¿ como puedo hacer que una parte del código se compile en un proyecto y no en otro proyecto (#ifdef...) ?

El problema es que tengo código común a varios proyectos, este código necesita acceder a la clase R que se genera automáticamente, a R no puedo cambiarle el nombre de package, ni derivar otra clase de ella porque esta declarada 'final'.

Ahora lo que hago es cambiar los imports de R a mano, cada vez que voy a compilar un proyecto diferente.

¿ No hay un preprocesador (aunque no sea estandard) que se pueda integrar en eclipse ?
Responder Con Cita


  #2  
Viejo 18/08/12, 12:53:44
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
No existe nada, al menos con el Java de Sun (y creo que con el de IBM y el OpenJDK tampoco).

La única solución que le veo a tu problema es que lo intentes hacer mediante Reflexión, pasando el nombre del paquete como parametro.
Responder Con Cita
  #3  
Viejo 18/08/12, 13:04:29
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Interesante... por lo que he podido ver, todos los automatismos involucran a ant (lo cual implica decirle adiós a la generación automágica de apks por parte del plugin de Android).

Con las tareas de ant configuradas ya sí puedes hacerle perrerías, como meter el preprocesador de CPP en medio. Aunque entonces la corrección automática de Eclipse supongo que tendrías que desactivarla.

He encontrado un plugin sencillo para eclipse que lo llama "configurador de versiones" http://prebop.sourceforge.net , también requiere ant, pero las directivas de compilación van en comentarios y no habrá problema al usar el corrector de Eclipse.

Otra opción que se me ocurre, de nuevo con ant, es que si lo único que tienes que hacer es cambiar el nombre del import de R, uses la tarea Replace de ant antes de compilar. Esa tarea se encarga de buscar cierto texto en los ficheros y cambiarlo. Creo que sería lo más fácil.
Responder Con Cita
  #4  
Viejo 18/08/12, 19:23:41
Avatar de pmaicas
pmaicas pmaicas no está en línea
Desarrollador
Mensajes: 1,299
 
Fecha de registro: dic 2008
Mensajes: 1,299
Mencionado: 25 comentarios
Tagged: 0 hilos
Gracias a ambos.

Creo que las dos soluciones aportadas por mocelet me sirven.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 07:37:55 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007