Se apporto modifiche nel mio progetto di libreria Android, devo aggiornare manualmente e talvolta pulire tutti i progetti che utilizzano la libreria. È normale? C'è un modo per aggirare questo?Progetti di libreria Android e dover aggiornare manualmente
risposta
Questo è vero. Se la tua lib crea un jar, uno che hai aggiunto al progetto Android dovrai aggiornarlo (puoi anche fare clic con il tasto destro del mouse e aggiornare sul riferimento del jar esterno anche per risparmiare tempo).
Ho avuto lo stesso problema un paio di settimane fa. Non ho trovato la soluzione che volevo, che era quella di modificare le fonti direttamente nel progetto della biblioteca e i progetti dipendenti si aggiornavano automaticamente, ma ho trovato qualcosa di meglio del caos di aggiornamento e pulizia costanti.
Il modo migliore che ho trovato era quello di utilizzare la cartella della libreria collegata dal progetto dipendente su cui si stava lavorando, in questo modo il progetto vede le modifiche in diretta. Quando si passa a un altro progetto dipendente, è comunque necessario aggiornare i file che sono stati modificati nell'altro progetto (in genere solo la cartella src). Potrebbe anche essere necessario aggiornare il progetto di libreria se si desidera apportare modifiche dirette. Potrebbe non sembrare un grande aiuto, ma se si spendono grandi quantità di tempo in un singolo progetto dipendente (come è stato finora il mio caso), è davvero d'aiuto.
Il metodo è il vecchio metodo utilizzato per condividere il codice tra i progetti. Il problema è che si perde la possibilità di condividere risorse. L'intero punto di utilizzo delle librerie in primo luogo consiste nel consentire la condivisione delle risorse (e quindi la distribuzione delle librerie .jar in bundle con le risorse). – Vaiden
Ho trovato una soluzione alternativa per questo problema. L'idea di base è di utilizzare il generatore di formiche personalizzato, poiché ha la capacità di aggiornare qualsiasi risorsa specifica o tutto lo spazio di lavoro su una costruzione pulita, manuale o automatica.
Così qui sono i passi:
1) Creare un semplice file di formiche con un obiettivo stub vuoto:
<?xml version="1.0" encoding="UTF-8"?>
<project name="android" >
<target name="refresh" />
</project>
2) il nome "lib-refresher.xml" e inserirlo nella cartella dove si trova il file .project dell'applicazione.
3) Ora vai su eclissi, trova il progetto che utilizza la libreria Android (non il progetto di libreria stesso).
4) Per questo progetto vai a: Progetto -> Proprietà -> Builder
5) Creazione di un nuovo costruttore, selezionare task Ant, selezionare specificato "lib-refresher.xml", selezionare la cartella di base di build.
6) importante - scheda Aggiorna del compito costruttore formica selezionare "risorse specifiche" e si seleziona biblioteca del progetto dipendente.
7) importante - in schede di destinazione selezionare "refresh" obiettivo per le varianti di build: Clean, Manuale del torso, Auto Genera.
8) importante - Salva le modifiche, spostare il nuovo costruttore formica personalizzato in cima costruttori dello stack.
Ora l'intero progetto verrà aggiornato prima dell'applicazione dell'edificio e del pranzo. Ciò includerà tutte le modifiche apportate al progetto della biblioteca nel progetto dell'applicazione. Qual è ciò che era necessario.
(questo può essere fatto il contrario: progetto di libreria può rinfrescare tutta la spazio di lavoro ogni volta che viene lanciato autobuild Questo può essere un po 'eccessivo, ma può risolvere alcuni casi più difficili.).
Works. Dovrebbe essere accettato – znat
Ho progetto stand in area di lavoro (Biblioteca Android e App Android) e quando ho fatto tutti i cambiamenti in libreria i hanno devono aggiornare progetto con app, ma questo fissa il mio problema:
(Application) project properties -> Java Build Path -> Tab Projects
e là ho aggiunto la mia libreria Android.
- 1. Android Lint: ignora i progetti di libreria
- 2. È possibile aggiornare ModelState.IsValid manualmente?
- 3. Come aggiornare manualmente il browser Android con l'ultimo (notturno) webkit?
- 4. Importazione di più progetti e singoli progetti in Studio Android
- 5. Libreria di supporto gradle e Android
- 6. RxJS: Come posso aggiornare "manualmente" un Osservabile?
- 7. Come posso aggiornare Maven Index manualmente?
- 8. Come aggiornare la visualizzazione manualmente in Ember.js?
- 9. Gestione proguard per Android Studio in progetti multi-libreria
- 10. Android Studio 1.0 e di errore "progetti di libreria non può impostare ApplicationID"
- 11. Come aggiornare iPhone SDK senza dover scaricare nuovamente Xcode?
- 12. creare dinamicamente file WIX senza dover modificare i file manualmente Wix
- 13. Come installare manualmente una libreria Python
- 14. Impossibile aggiornare textarea con javascript dopo averlo scritto manualmente
- 15. Sincronizza i progetti/moduli della libreria condivisa con la sua fonte
- 16. L'importazione di progetti in eclissi importa solo i progetti Android
- 17. Come aggiornare un modulo importato in Android Studio?
- 18. Android ListView Abbassa per aggiornare
- 19. Come configurare il modulo Libreria Android ed essere referenziato da più progetti in Android Studio?
- 20. Gradle e più progetti con dipendenza Roboguice
- 21. Come aggiornare manualmente la vista AngularJS usando la sintassi ControllerAs?
- 22. Aggiornare un UpdatePanel manualmente utilizzando JavaScript o jQuery
- 23. Come includere uno schema di sezione personalizzato web.config senza dover aggiornare ogni macchina di sviluppo?
- 24. Font nella libreria Android
- 25. È possibile rinnovare i profili di provisioning senza dover aggiornare le app aziendali iOS?
- 26. errore: L'attributo "***" è già stato definito quando si utilizzano due progetti di libreria in Android
- 27. Android Widget aggiornare
- 28. Come proguardare due progetti Android?
- 29. aggiornare una vista Android
- 30. Pull per aggiornare GridView in Android
Penso che sia normale, almeno se si utilizza Eclipse. Questo perché l'area di lavoro di Eclipse ha una cache delle risorse che utilizza sul progetto, quindi richiede un aggiornamento per "rilevare" le modifiche esterne. – Cristian