2015-10-30 26 views
7

Qual è la differenza tra kotlin-runtime.jar (225,1 K) e kotlin-stdlib.jar (727,3 K) (le dimensioni sono per la versione 1.0.0-beta-1103)? Quale dovrei distribuire con la mia applicazione? Per ora vivo con kotlin-stdlib.jar, perché è quello che ha generato Android Studio, ma mi chiedo se posso usare kotlin-runtime.jar dato che è più piccolo.Kotlin runtime jar vs kotlin stdlib jar

risposta

19

La libreria di runtime contiene solo i tipi di linguaggio Kotlin di base richiesti per eseguire il codice compilato. È richiesto un set di classi minime.

La libreria standard contiene funzioni di utilità necessarie per uno sviluppo confortevole. Queste sono funzioni per manipolazioni di raccolte, file, flussi e così via.

In teoria è possibile utilizzare solo tempo di esecuzione, ma in genere non dovrebbe perché non ci sono libreria standard in modo che lei perderà molte funzioni di utilità necessari per lo sviluppo comodo (come map, filter, toList e così via) in modo da non pensare che dovresti

Quindi in realtà avete bisogno di entrambi. Se è necessario ridurre il pacchetto dei risultati, è possibile elaborare l'app con proguard.

+1

Per chiarezza, è sufficiente dichiarare una dipendenza su stdlib, o dovremmo dichiarare una dipendenza da entrambi? – Max

+1

@Max è sufficiente includere stdlib (dato che il runtime è una dipendenza transitiva) –