Sono nuovo per NDK di Android e non capisco le differenze tra le librerie statiche e condivise. Cosa sono e quando scegliere un tipo rispetto all'altro?Differenza tra librerie statiche e condivise in NDK di Android?
risposta
Il termine libreria condivisa non si adatta perfettamente a NDK di Android, perché in molti casi le librerie .so non sono effettivamente condivise tra le applicazioni. È meglio classificare le librerie che NDK costruisce come statiche e dinamiche.
Ogni applicazione Android è un'applicazione Java e l'unico punto di ingresso per il codice NDK lo carica come libreria dinamica e lo chiama tramite JNI.
Le librerie statiche sono archivi di file oggetto compilati. Vengono raggruppati in altre librerie al momento della compilazione. Porzioni di codice non utilizzate da librerie statiche vengono rimosse dal NDK per ridurre le dimensioni totali.
Le librerie dinamiche vengono caricate in fase di runtime da file separati. Possono contenere librerie statiche da cui dipendono o caricare più librerie dinamiche.
Quindi quello che è effettivamente necessario per lo sviluppo di Android è almeno una libreria condivisa, che verrà chiamata dal codice Java e collegata con le sue dipendenze come librerie statiche preferibilmente.
Librerie native condivise: NDK crea queste librerie, o file .so, dal codice sorgente nativo. Librerie statiche native: NDK può anche creare librerie statiche o file .a, che è possibile collegare ad altre librerie.
Questo è secondo NDK Documentazione
- 1. Differenza tra librerie statiche e condivise?
- 2. Miscelazione di librerie statiche e librerie condivise
- 3. Differenza tra moduli e librerie condivise?
- 4. Creazione di librerie C++ sia statiche che condivise
- 5. ctypes per librerie statiche?
- 6. Automake e librerie condivise standard
- 7. Stripping librerie condivise di linux
- 8. NDK Android: crea due librerie condivise native che si chiamano reciprocamente
- 9. Android: come collegare correttamente le mie librerie statiche?
- 10. Costruisci librerie condivise in ATLAS
- 11. Android NDK - OpenGL ES Tutorial/Librerie
- 12. Librerie condivise di Websphere "Priorità"?
- 13. Makefile per librerie condivise?
- 14. Librerie condivise Linux C++
- 15. Librerie condivise opzionali
- 16. Come utilizzare librerie extra * .so su Android Studio e NDK
- 17. Variabili globali, librerie condivise e -effetto fPIC
- 18. NDK che compila più librerie
- 19. Costruisci e collega più librerie NDK utilizzando gradle
- 20. come includere le librerie condivise precompattate in apk con eclissi
- 21. Differenza tra preferenza e preferenza condivisa in Android
- 22. Perché cmake_link_libraries include librerie statiche?
- 23. Combinando librerie statiche
- 24. percorsi relativi per librerie condivise
- 25. Combina librerie statiche
- 26. Possiamo abilitare la torta (ad esempio Eseguibili indipendenti dalla posizione) per le librerie condivise in android-ndk r10c?
- 27. Dilemma sulle librerie condivise su Unix
- 28. Come combinare le librerie condivise?
- 29. Creazione di librerie sia statiche che condivise per LLVM libC++ 3.3
- 30. differenza tra librerie e helper in framework php
pulito un conciso .. Grazie – baash05
davvero grande risposta –
Grazie, davvero buona risposta. Al punto. –