Android does not have a native X Window System by default, nor does it support the full set of standard GNU libraries. This made it difficult to port existing Linux applications or libraries to Android,[171] until version r5 of the Android Native Development Kit brought support for applications written completely in C or C++.[181] Libraries written in C may also be used in applications by injection of a small shim and usage of the JNI.[182]