Mi chiedo se potrei condividere un singleton sul contesto dell'applicazione tra più applicazioni? Ogni applicazione sarebbe nel suo APK ma potrebbe sembrare un'architettura scadente, ma prima ascoltami.È possibile che più applicazioni Android condividano un singolo contesto di processo e applicazione?
Il motivo per cui vorrei farlo è perché ho una libreria esistente che controlla un dispositivo esterno tramite Bluetooth. La libreria è java ma sotto le copertine vi è l'attributo di nativo (c/C++) tutto racchiuso da java. Ho cercato di mettere tutto questo in un servizio, ma l'IPC (stavo usando aidl) diventa molto ingombrante velocemente. Cercare di ridurre l'oggetto alle primitive è quasi impossibile (campi privati, puntatori jni ecc.) E provare a racchiudere tutto con AIDL è molto complicato.
Se ciascuna applicazione può essere eseguita nello stesso processo e avere lo stesso contesto applicativo, mi consente quindi di mantenere un oggetto Singleton lì che renderebbe le cose molto più semplici. Il mio googl-fu mi sta fallendo su questo. Forse non è possibile?
Come specificare il contesto dell'applicazione personalizzato per consentire un singleton? Suppongo che Android: il nome abbia qualcosa a che fare con esso, ma cosa garantisce che siano effettivamente la stessa classe? – startoftext
@startoftext l'hai capito? Voglio fare la stessa cosa – Alan
Dovrebbe essere opportuno impostare sharedUserId e firmare entrambe le app con lo stesso certificato. android: attributo di processo utilizzato per ulteriori elementi extra come la denominazione o l'indirizzamento al processo corretto. – zgulser