Ho due applicazioni Android che condividono il 90% del loro codice e a causa di motivi politici (penso anche motivi tecnici) devono avere nomi di pacchetti separati (quindi appariranno sotto URL diversi in Google Play)Posso in qualche modo alias R in Android?
Io uso git con due rami per ogni app e sincronizzo manualmente i due rami prima di ogni rilascio. Quando si esegue un comando diff dei due rami, molti dei miei file sono diversi quando in realtà l'unica cosa diversa è il nome del pacchetto del file generato automaticamente R, quindi per la prima applicazione ho 15 file con
import pkg.name.one.R;
e per l'altra applicazione
import pkg.name.two.R;
voglio importare in qualche modo R
allo stesso modo per entrambe le categorie.
Ho provato avvolgendo R modo:
pacchetto thescene;
public class RWrapper {
public class R extends pkg.name.one.R {}
}
(che renderebbe RWrapper
l'unico file diverso tra i due rami per quanto riguarda l'origine o la R
) ma ahimè R
è una classe finale (e io non sono nemmeno sicuro che questo avrebbe mai funzionato comunque)
Quindi c'è un modo per in qualche modo aliasare la classe R in un modo che mi permetterebbe di sostituire import pkg.name.one.R;/import pkg.name.two.R;
con una dichiarazione di importazione unificata?
Sono aperto anche ad altri suggerimenti che potrebbero risolvere i miei guai sincronizzazione :)
la sua migliore per importare 'R in importazione statement' e rimuovere pacchetto inutile usando' CTRL + MAIUSC + O' –
Non è davvero una risposta alla tua domanda, ma hai inserito il codice duplicato in un progetto di libreria a cui fai riferimento da ciascuna applicazione o le due app sono completamente separate e hanno il 90% dello stesso codice? E si dovrebbe mantenere il file R così com'è, e non provare a usare lo stesso per entrambi i progetti. – banzai86
Sposta il codice condiviso nella libreria di Android. Quindi includilo in entrambe le applicazioni. – pawelzieba