Tengo dos aplicaciones de Android que comparten el 90% de su código entre sí, y debido a razones políticas (creo que también razones técnicas) deben tener nombres de paquete separados (para que aparezcan bajo diferentes URL en Google Play)¿Puedo alias R de alguna manera en Android?
Uso git con dos ramas para cada aplicación, y sincronizo las dos ramas manualmente antes de cada lanzamiento. Cuando ejecuto un comando diff de las dos ramas, muchos de mis archivos son diferentes cuando en realidad lo único diferente es el nombre del paquete del archivo generado automáticamente R, entonces para la primera aplicación tengo 15 archivos con
import pkg.name.one.R;
y por la otra aplicación
import pkg.name.two.R;
quiero importar alguna manera R
de la misma manera para ambas clases.
He intentado envolver R de este modo:
paquete thescene;
public class RWrapper {
public class R extends pkg.name.one.R {}
}
(lo que haría RWrapper
el único archivo diferente entre estas dos ramas en lo que respecta a la fuente o R
) pero por desgracia R
es una clase final (y no estoy siquiera seguro de esto hubiera funcionado de todos modos)
Entonces, ¿hay alguna manera de alias de alguna manera la clase R de una manera que me permita tener el import pkg.name.one.R;/import pkg.name.two.R;
reemplazado por una declaración de importación unificada?
También estoy abierto a otras sugerencias que resolverían los problemas de sincronización :) mis
su mejor importar 'R en statement' importación y retire el paquete innecesarios usando' CTRL + SHIFT + O' –
No es realmente una respuesta a su pregunta, pero ¿colocó el código duplicado en un proyecto de biblioteca al que hace referencia desde cada aplicación o son las dos aplicaciones completamente separadas y tienen el 90% del mismo código? Y debe conservar el archivo R tal como está, y no tratar de usar el mismo para ambos proyectos – banzai86
Mover el código compartido a la biblioteca de Android. Luego inclúyalo en ambas aplicaciones. – pawelzieba