2013-11-01 1 views
6

Mi sembra che CMake e Android.mk abbiano molto in comune, qualcuno può spiegarmi quali sono le differenze e perché Google ha inventato un nuovo sistema di build e non ha utilizzato CMake?Cmake vs. Android.mk

+0

Penso che il numero di domande sia abbastanza grande: perché bionico, perché dalvik, perché non bluez ecc. – yegorich

+0

Sono d'accordo, ma ho ragione utilizza le stesse caratteristiche? – 0x90

+1

Android.mk è una parte dell'intera infrastruttura di creazione del progetto e presenta numerose funzionalità comuni a CMake, ma sono limitate alle esigenze di AOSP. CMake è per progetti multipiattaforma con supporto per la ricerca di dipendenze/pacchetti, creazione di pacchetti software, ecc. – yegorich

risposta

1

Gli sviluppatori Android hanno ancora più cambiamenti in mente. Ora è possibile utilizzare Ninja-build.

Soong è il piano a lungo termine, e consiste nel sostituire tutti i file Android.mk tutto l'albero con i file di dati strutturati, e descrivendo la logica di generazione in Go.

Fonte: https://groups.google.com/forum/#!topic/ninja-build/YPby3GRBqHA

Così inventano un altro sistema di compilazione. Per Chrome hanno già introdotto Gyp. Immagino che non ci sia una posizione centrale in Google per coordinare tali decisioni. Gli sviluppatori possono decidere su una base per progetto cosa è meglio per il progetto. Questo è veramente buono. Immagina che ogni progetto con il maggior coinvolgimento di Google passerebbe al sistema di costruzione X. Sarebbe fastidioso.